UNPKG

trust-html

Version:

Pipe for angular2+ projects which allows you to inject non-escaped HTML content into your templates.

46 lines 2.91 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Pipe, SecurityContext, VERSION } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; export class TrustHtmlPipe { /** * @param {?} sanitizer */ constructor(sanitizer) { this.sanitizer = sanitizer; } /** * @param {?} htmlString * @return {?} */ transform(htmlString) { /** @type {?} */ let result; if (!VERSION || VERSION.major === '2') { result = this.sanitizer.bypassSecurityTrustHtml(htmlString); } else { result = this.sanitizer.sanitize(SecurityContext.HTML, htmlString); } return result; } } TrustHtmlPipe.decorators = [ { type: Pipe, args: [{ name: 'trustHtml' },] } ]; /** @nocollapse */ TrustHtmlPipe.ctorParameters = () => [ { type: DomSanitizer } ]; if (false) { /** * @type {?} * @private */ TrustHtmlPipe.prototype.sanitizer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3QtaHRtbC5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vdHJ1c3QtaHRtbC8iLCJzb3VyY2VzIjpbImxpYi90cnVzdC1odG1sLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBS3pELE1BQU0sT0FBTyxhQUFhOzs7O0lBRXhCLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFDM0MsQ0FBQzs7Ozs7SUFFRCxTQUFTLENBQUMsVUFBa0I7O1lBQ3RCLE1BQU07UUFFVixJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssR0FBRyxFQUFFO1lBQ3JDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzdEO2FBQU07WUFDTCxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNwRTtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OztZQWxCRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLFdBQVc7YUFDbEI7Ozs7WUFKUSxZQUFZOzs7Ozs7O0lBT1Asa0NBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgU2VjdXJpdHlDb250ZXh0LCBWRVJTSU9OIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQFBpcGUoe1xuICBuYW1lOiAndHJ1c3RIdG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUcnVzdEh0bWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICB9XG5cbiAgdHJhbnNmb3JtKGh0bWxTdHJpbmc6IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IHJlc3VsdDtcblxuICAgIGlmICghVkVSU0lPTiB8fCBWRVJTSU9OLm1ham9yID09PSAnMicpIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGh0bWxTdHJpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSB0aGlzLnNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgaHRtbFN0cmluZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG59XG4iXX0=