@sedeh/into-pipes
Version:
Have you ever wanted to transform data in different parts of your application into interactive objects without writing a single line of code?
30 lines • 4.17 kB
JavaScript
import { Pipe } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "./component.pool";
export class InToPipe {
constructor(pool) {
this.pool = pool;
}
transform(content, list) {
let result = content;
list.split("|").map((item) => {
result = this._transform(result, this.split(item));
});
return result;
}
split(item) {
const matched = item.trim().match(/(?=\S)[^"\:]*(?:"[^\\"]*(?:\\[\:\S][^\\"]*)*"[^"\:]*)*/g);
return matched ? matched.filter((x) => x.length) : [];
}
_transform(content, args) {
let result = this.pool.registeredPipeTransformation(args[0], content, args, this._transform.bind(this));
return result ? result : content;
}
}
InToPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: InToPipe, deps: [{ token: i1.ComponentPool }], target: i0.ɵɵFactoryTarget.Pipe });
InToPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: InToPipe, name: "into" });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: InToPipe, decorators: [{
type: Pipe,
args: [{ name: 'into' }]
}], ctorParameters: function () { return [{ type: i1.ComponentPool }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50by5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW50by1waXBlcy9zcmMvbGliL2NvbW1vbi9pbnRvLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBa0IsTUFBTSxlQUFlLENBQUM7OztBQUtyRCxNQUFNLE9BQU8sUUFBUTtJQUVuQixZQUFvQixJQUFtQjtRQUFuQixTQUFJLEdBQUosSUFBSSxDQUFlO0lBQUcsQ0FBQztJQUUzQyxTQUFTLENBQUMsT0FBWSxFQUFFLElBQVk7UUFDbEMsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDO1FBRXJCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFFLENBQUMsSUFBWSxFQUFFLEVBQUU7WUFDbEMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxLQUFLLENBQUMsSUFBWTtRQUN4QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7UUFDM0YsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFTyxVQUFVLENBQUMsT0FBWSxFQUFFLElBQWM7UUFDN0MsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3hHLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNuQyxDQUFDOztzR0F0QlUsUUFBUTtvR0FBUixRQUFROzRGQUFSLFFBQVE7a0JBRHBCLElBQUk7bUJBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSAgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbXBvbmVudFBvb2wgfSBmcm9tICcuL2NvbXBvbmVudC5wb29sJztcclxuXHJcbkBQaXBlKHtuYW1lOidpbnRvJ30pXHJcbmV4cG9ydCBjbGFzcyBJblRvUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm17XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9vbDogQ29tcG9uZW50UG9vbCkge31cclxuXHJcbiAgdHJhbnNmb3JtKGNvbnRlbnQ6IGFueSwgbGlzdDogc3RyaW5nKTogYW55IHtcclxuICAgIGxldCByZXN1bHQgPSBjb250ZW50O1xyXG4gICAgXHJcbiAgICBsaXN0LnNwbGl0KFwifFwiKS5tYXAoIChpdGVtOiBzdHJpbmcpID0+IHtcclxuICAgICAgICByZXN1bHQgPSB0aGlzLl90cmFuc2Zvcm0ocmVzdWx0LCB0aGlzLnNwbGl0KGl0ZW0pKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNwbGl0KGl0ZW06IHN0cmluZykge1xyXG4gICAgY29uc3QgbWF0Y2hlZCA9IGl0ZW0udHJpbSgpLm1hdGNoKC8oPz1cXFMpW15cIlxcOl0qKD86XCJbXlxcXFxcIl0qKD86XFxcXFtcXDpcXFNdW15cXFxcXCJdKikqXCJbXlwiXFw6XSopKi9nKTtcclxuICAgICAgcmV0dXJuIG1hdGNoZWQgPyBtYXRjaGVkLmZpbHRlcigoeCk9PngubGVuZ3RoKSA6IFtdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdHJhbnNmb3JtKGNvbnRlbnQ6IGFueSwgYXJnczogc3RyaW5nW10pIHtcclxuICAgIGxldCByZXN1bHQgPSB0aGlzLnBvb2wucmVnaXN0ZXJlZFBpcGVUcmFuc2Zvcm1hdGlvbihhcmdzWzBdLCBjb250ZW50LCBhcmdzLCB0aGlzLl90cmFuc2Zvcm0uYmluZCh0aGlzKSk7IFxyXG4gICAgcmV0dXJuIHJlc3VsdCA/IHJlc3VsdCA6IGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==