UNPKG

air-lib

Version:

This is Air's angular component library

59 lines 5.14 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Pipe } from '@angular/core'; import { escapeRegexp } from './common'; var HighlightPipe = /** @class */ (function () { function HighlightPipe() { } /** * @param {?} value * @param {?} query * @return {?} */ HighlightPipe.prototype.transform = /** * @param {?} value * @param {?} query * @return {?} */ function (value, query) { if (query.length < 1) { return value; } if (query) { /** @type {?} */ var tagRE = new RegExp('<[^<>]*>', 'ig'); // get ist of tags /** @type {?} */ var tagList = value.match(tagRE); // Replace tags with token /** @type {?} */ var tmpValue = value.replace(tagRE, '$!$'); // Replace search words value = tmpValue.replace(new RegExp(escapeRegexp(query), 'gi'), '<strong>$&</strong>'); // Reinsert HTML for (var i = 0; value.indexOf('$!$') > -1; i++) { value = value.replace('$!$', tagList != null ? tagList[i] : ''); } } return value; }; HighlightPipe.decorators = [ { type: Pipe, args: [{ name: 'highlight' },] } ]; return HighlightPipe; }()); export { HighlightPipe }; /** * @param {?} input * @return {?} */ export function stripTags(input) { /** @type {?} */ var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi; /** @type {?} */ var commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi; return input.replace(commentsAndPhpTags, '').replace(tags, ''); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXBpcGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYWlyLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL25nMi1zZWxlY3QtY3VzdG9tL3NlbGVjdC9zZWxlY3QtcGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFeEM7SUFBQTtJQXVCQSxDQUFDOzs7Ozs7SUFyQlEsaUNBQVM7Ozs7O0lBQWhCLFVBQWlCLEtBQWEsRUFBRSxLQUFhO1FBQzNDLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUssS0FBSyxFQUFHOztnQkFDSCxLQUFLLEdBQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQzs7O2dCQUV2QyxPQUFPLEdBQUksS0FBSyxDQUFDLEtBQUssQ0FBRSxLQUFLLENBQUU7OztnQkFFL0IsUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUM3Qyx1QkFBdUI7WUFDdkIsS0FBSyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLHFCQUFxQixDQUFDLENBQUM7WUFDdkYsZ0JBQWdCO1lBQ2hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzlDLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2pFO1NBQ0o7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2dCQXJCRixJQUFJLFNBQUMsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDOztJQXVCekIsb0JBQUM7Q0FBQSxBQXZCRCxJQXVCQztTQXRCWSxhQUFhOzs7OztBQXdCMUIsTUFBTSxvQkFBb0IsS0FBWTs7UUFDaEMsSUFBSSxHQUFHLGdDQUFnQzs7UUFDdkMsa0JBQWtCLEdBQUcsMENBQTBDO0lBQ25FLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ2pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGVzY2FwZVJlZ2V4cCB9IGZyb20gJy4vY29tbW9uJztcclxuXHJcbkBQaXBlKHtuYW1lOiAnaGlnaGxpZ2h0J30pXHJcbmV4cG9ydCBjbGFzcyBIaWdobGlnaHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBxdWVyeTogc3RyaW5nKTogYW55IHtcclxuICAgIGlmIChxdWVyeS5sZW5ndGggPCAxKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIHF1ZXJ5ICkge1xyXG4gICAgICAgIGNvbnN0IHRhZ1JFICAgID0gbmV3IFJlZ0V4cCgnPFtePD5dKj4nLCAnaWcnKTtcclxuICAgICAgICAvLyBnZXQgaXN0IG9mIHRhZ3NcclxuICAgICAgICBjb25zdCB0YWdMaXN0ICA9IHZhbHVlLm1hdGNoKCB0YWdSRSApO1xyXG4gICAgICAgIC8vIFJlcGxhY2UgdGFncyB3aXRoIHRva2VuXHJcbiAgICAgICAgY29uc3QgdG1wVmFsdWUgPSB2YWx1ZS5yZXBsYWNlKCB0YWdSRSwgJyQhJCcpO1xyXG4gICAgICAgIC8vIFJlcGxhY2Ugc2VhcmNoIHdvcmRzXHJcbiAgICAgICAgdmFsdWUgPSB0bXBWYWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAoZXNjYXBlUmVnZXhwKHF1ZXJ5KSwgJ2dpJyksICc8c3Ryb25nPiQmPC9zdHJvbmc+Jyk7XHJcbiAgICAgICAgLy8gUmVpbnNlcnQgSFRNTFxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyB2YWx1ZS5pbmRleE9mKCckISQnKSA+IC0xOyBpKyspIHtcclxuICAgICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgnJCEkJywgdGFnTGlzdCAhPSBudWxsID8gdGFnTGlzdFtpXSA6ICcnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwVGFncyhpbnB1dDpzdHJpbmcpOnN0cmluZyB7XHJcbiAgbGV0IHRhZ3MgPSAvPFxcLz8oW2Etel1bYS16MC05XSopXFxiW14+XSo+L2dpO1xyXG4gIGxldCBjb21tZW50c0FuZFBocFRhZ3MgPSAvPCEtLVtcXHNcXFNdKj8tLT58PFxcPyg/OnBocCk/W1xcc1xcU10qP1xcPz4vZ2k7XHJcbiAgcmV0dXJuIGlucHV0LnJlcGxhY2UoY29tbWVudHNBbmRQaHBUYWdzLCAnJykucmVwbGFjZSh0YWdzLCAnJyk7XHJcbn1cclxuIl19