@alauda-fe/common
Version:
Alauda frontend team common codes.
31 lines • 3.42 kB
JavaScript
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') {
const valueSanitizer = sanitize(value ?? '');
switch (type) {
case 'html': {
return this.sanitizer.bypassSecurityTrustHtml(valueSanitizer);
}
case 'url': {
return this.sanitizer.sanitize(SecurityContext.URL, valueSanitizer);
}
}
}
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3BpcGVzL3Nhbml0aXplLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFNckMsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBNkIsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFHLENBQUM7SUFFeEQsU0FBUyxDQUFDLEtBQWEsRUFBRSxPQUF1QixNQUFNO1FBQ3BELE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFDN0MsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDaEUsQ0FBQztZQUNELEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDdEUsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOzZFQWJVLFlBQVk7cUZBQVosWUFBWTs7aUZBQVosWUFBWTtjQUp4QixJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLFVBQVUsRUFBRSxJQUFJO2FBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgU2VjdXJpdHlDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBzYW5pdGl6ZSB9IGZyb20gJ2RvbXB1cmlmeSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2FjbFNhbml0aXplJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2FuaXRpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIHR5cGU6ICdodG1sJyB8ICd1cmwnID0gJ2h0bWwnKTogU2FmZUh0bWwge1xuICAgIGNvbnN0IHZhbHVlU2FuaXRpemVyID0gc2FuaXRpemUodmFsdWUgPz8gJycpO1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnaHRtbCc6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlU2FuaXRpemVyKTtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3VybCc6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5VUkwsIHZhbHVlU2FuaXRpemVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==