nl2br-pipe
Version:
nl2br-pipe ===== 1. [Description](#description) 2. [Installation](#installation) 3. [Usage](#usage) 4. [Methods](#methods) 5. [Git repository](#git) 6. [Build](#build) 7. [Publish to npm](#publish) 8. [Version](#version)
55 lines • 3.78 kB
JavaScript
/**
* @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 Nl2BrPipe {
/**
* @param {?} sanitizer
*/
constructor(sanitizer) {
this.sanitizer = sanitizer;
}
/**
* @param {?} value
* @param {?=} sanitizeBeforehand
* @return {?}
*/
transform(value, sanitizeBeforehand) {
if (typeof value !== 'string') {
return value;
}
/** @type {?} */
let result;
/** @type {?} */
const textParsed = value.replace(/(?:\r\n|\r|\n)/g, '<br />');
if (!VERSION || VERSION.major === '2') {
result = this.sanitizer.bypassSecurityTrustHtml(textParsed);
}
else if (sanitizeBeforehand) {
result = this.sanitizer.sanitize(SecurityContext.HTML, textParsed);
}
else {
result = textParsed;
}
return result;
}
}
Nl2BrPipe.decorators = [
{ type: Pipe, args: [{
name: 'nl2br'
},] }
];
/** @nocollapse */
Nl2BrPipe.ctorParameters = () => [
{ type: DomSanitizer }
];
if (false) {
/**
* @type {?}
* @private
*/
Nl2BrPipe.prototype.sanitizer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmwyYnIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25sMmJyLXBpcGUvIiwic291cmNlcyI6WyJsaWIvbmwyYnIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFLekQsTUFBTSxPQUFPLFNBQVM7Ozs7SUFFcEIsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUMzQyxDQUFDOzs7Ozs7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLGtCQUE0QjtRQUNuRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixPQUFPLEtBQUssQ0FBQztTQUNkOztZQUNHLE1BQVc7O2NBQ1QsVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDO1FBRTdELElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxHQUFHLEVBQUU7WUFDckMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDN0Q7YUFBTSxJQUFJLGtCQUFrQixFQUFFO1lBQzdCLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ3BFO2FBQU07WUFDTCxNQUFNLEdBQUcsVUFBVSxDQUFDO1NBQ3JCO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7O1lBeEJGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsT0FBTzthQUNkOzs7O1lBSlEsWUFBWTs7Ozs7OztJQU9QLDhCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIFNlY3VyaXR5Q29udGV4dCwgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ25sMmJyJ1xufSlcbmV4cG9ydCBjbGFzcyBObDJCclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gIH1cblxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgc2FuaXRpemVCZWZvcmVoYW5kPzogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgbGV0IHJlc3VsdDogYW55O1xuICAgIGNvbnN0IHRleHRQYXJzZWQgPSB2YWx1ZS5yZXBsYWNlKC8oPzpcXHJcXG58XFxyfFxcbikvZywgJzxiciAvPicpO1xuXG4gICAgaWYgKCFWRVJTSU9OIHx8IFZFUlNJT04ubWFqb3IgPT09ICcyJykge1xuICAgICAgcmVzdWx0ID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGV4dFBhcnNlZCk7XG4gICAgfSBlbHNlIGlmIChzYW5pdGl6ZUJlZm9yZWhhbmQpIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCB0ZXh0UGFyc2VkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gdGV4dFBhcnNlZDtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbn1cbiJdfQ==