UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

49 lines 5.59 kB
import { Pipe, isDevMode } from '@angular/core'; import { DomSanitizer, } from '@angular/platform-browser'; import * as i0 from "@angular/core"; import * as i1 from "@angular/platform-browser"; export class SafePipe { constructor(sanitizer) { this.sanitizer = sanitizer; } transform(value, type) { if (!value) { return value; } if (isDevMode()) { console.warn(`Make sure the ${type} content is XSS safe${['html', 'url'].includes(type) ? ", otherwise replace with 'aclSanitize'" : ''}`); } 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}`); } } } static { this.ɵfac = function SafePipe_Factory(t) { return new (t || SafePipe)(i0.ɵɵdirectiveInject(i1.DomSanitizer, 16)); }; } static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclSafe", type: SafePipe, pure: true, standalone: true }); } } (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SafePipe, [{ type: Pipe, args: [{ name: 'aclSafe', standalone: true, }] }], () => [{ type: i1.DomSanitizer }], null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvcGlwZXMvc2FmZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsWUFBWSxHQU1iLE1BQU0sMkJBQTJCLENBQUM7OztBQU1uQyxNQUFNLE9BQU8sUUFBUTtJQUNuQixZQUE2QixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQUcsQ0FBQztJQUV4RCxTQUFTLENBQ1AsS0FBYSxFQUNiLElBQVk7UUFFWixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDaEIsT0FBTyxDQUFDLElBQUksQ0FDVixpQkFBaUIsSUFBSSx1QkFDbkIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDNUIsQ0FBQyxDQUFDLHdDQUF3QztnQkFDMUMsQ0FBQyxDQUFDLEVBQ04sRUFBRSxDQUNILENBQUM7UUFDSixDQUFDO1FBRUQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkQsQ0FBQztZQUNELEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEQsQ0FBQztZQUNELEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekQsQ0FBQztZQUNELEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEQsQ0FBQztZQUNELEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlELENBQUM7WUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDMUQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO3lFQXpDVSxRQUFRO2lGQUFSLFFBQVE7O2lGQUFSLFFBQVE7Y0FKcEIsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxTQUFTO2dCQUNmLFVBQVUsRUFBRSxJQUFJO2FBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBEb21TYW5pdGl6ZXIsXG4gIFNhZmVIdG1sLFxuICBTYWZlUmVzb3VyY2VVcmwsXG4gIFNhZmVTY3JpcHQsXG4gIFNhZmVTdHlsZSxcbiAgU2FmZVVybCxcbn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2FjbFNhZmUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTYWZlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxuXG4gIHRyYW5zZm9ybShcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIHR5cGU6IHN0cmluZyxcbiAgKTogU2FmZUh0bWwgfCBTYWZlU3R5bGUgfCBTYWZlU2NyaXB0IHwgU2FmZVVybCB8IFNhZmVSZXNvdXJjZVVybCB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgTWFrZSBzdXJlIHRoZSAke3R5cGV9IGNvbnRlbnQgaXMgWFNTIHNhZmUke1xuICAgICAgICAgIFsnaHRtbCcsICd1cmwnXS5pbmNsdWRlcyh0eXBlKVxuICAgICAgICAgICAgPyBcIiwgb3RoZXJ3aXNlIHJlcGxhY2Ugd2l0aCAnYWNsU2FuaXRpemUnXCJcbiAgICAgICAgICAgIDogJydcbiAgICAgICAgfWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnaHRtbCc6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3N0eWxlJzoge1xuICAgICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3NjcmlwdCc6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTY3JpcHQodmFsdWUpO1xuICAgICAgfVxuICAgICAgY2FzZSAndXJsJzoge1xuICAgICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybCh2YWx1ZSk7XG4gICAgICB9XG4gICAgICBjYXNlICdyZXNvdXJjZVVybCc6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh2YWx1ZSk7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzYWZlIHR5cGUgc3BlY2lmaWVkOiAke3R5cGV9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=