UNPKG

@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?

74 lines 9.76 kB
import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; export class ComponentPool { constructor() { this.registeredPipes = {}; this.registeredComponents = {}; this.registeredServices = {}; this.registeredPatterns = {}; } getRegisteredPatterns() { return this.registeredPatterns; } registerPipeTransformation(name, pipe) { this.registeredPipes[name] = pipe; if (!this.registeredPatterns[name]) { this.registeredPatterns[name] = name; } } registeredForPipeTransformationNamed(key) { return this.registeredPipes[key] !== undefined; } registeredPipeTransformation(key, content, args, callback, data) { const pipe = this.registeredPipes[key]; return pipe ? pipe(content, args, callback, data) : null; } removePipeTransformation(key) { delete this.registeredPipes[key]; const v = this.registeredPatterns[key]; if (v === key) { delete this.registeredPatterns[key]; } } registerComponent(name, component) { this.registeredComponents[name] = component; this.registeredPatterns[name] = component.settingsPatterns(); } registeredForComponentWithNamed(name) { return this.registeredComponents[name] !== undefined; } registeredComponent(name, viewRefrence, el) { const component = name ? this.registeredComponents[name] : undefined; let result; if (component) { const componentRef = viewRefrence.createComponent(component); const domElem = componentRef.hostView.rootNodes[0]; el.appendChild(domElem); domElem.setAttribute("class", "into"); result = componentRef.instance; } return result; } removeComponent(name) { delete this.registeredComponents[name]; delete this.registeredPatterns[name]; } registerServiceForComponent(name, service) { this.registeredServices[name] = service; } registeredServiceForComponent(name) { return this.registeredServices[name]; } registeredForServiceNamed(name) { return this.registeredServices[name] !== undefined; } removeServiceForComponent(name) { delete this.registeredServices[name]; } } ComponentPool.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ComponentPool, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); ComponentPool.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ComponentPool }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ComponentPool, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LnBvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnRvLXBpcGVzL3NyYy9saWIvY29tbW9uL2NvbXBvbmVudC5wb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTixVQUFVLEVBSVYsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyxhQUFhO0lBRDFCO1FBRVMsb0JBQWUsR0FBTyxFQUFFLENBQUM7UUFDekIseUJBQW9CLEdBQU8sRUFBRSxDQUFDO1FBQzlCLHVCQUFrQixHQUFPLEVBQUUsQ0FBQztRQUM1Qix1QkFBa0IsR0FBTyxFQUFFLENBQUM7S0FvRXBDO0lBbEVBLHFCQUFxQjtRQUNwQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsMEJBQTBCLENBQUUsSUFBWSxFQUFFLElBQVM7UUFDbEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ3JDO0lBQ0YsQ0FBQztJQUNELG9DQUFvQyxDQUFDLEdBQVc7UUFDL0MsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsNEJBQTRCLENBQUMsR0FBVyxFQUFFLE9BQVksRUFBRSxJQUFjLEVBQUUsUUFBYyxFQUFFLElBQVU7UUFDM0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV2QyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDaEUsQ0FBQztJQUNELHdCQUF3QixDQUFFLEdBQVc7UUFDcEMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWpDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxJQUFLLENBQUMsS0FBSyxHQUFHLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNwQztJQUNGLENBQUM7SUFFRCxpQkFBaUIsQ0FBRSxJQUFZLEVBQUUsU0FBYztRQUM5QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQzVDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUM3RCxDQUFDO0lBQ0QsK0JBQStCLENBQUMsSUFBWTtRQUMzQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUM7SUFDdEQsQ0FBQztJQUNELG1CQUFtQixDQUNsQixJQUFZLEVBQ1osWUFBOEIsRUFDOUIsRUFBZTtRQUNmLE1BQU0sU0FBUyxHQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDdEUsSUFBSSxNQUErQixDQUFDO1FBRTlCLElBQUksU0FBUyxFQUFFO1lBQ3BCLE1BQU0sWUFBWSxHQUFzQixZQUFZLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hGLE1BQU0sT0FBTyxHQUFJLFlBQVksQ0FBQyxRQUFxQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQWdCLENBQUM7WUFDaEcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN0QyxNQUFNLEdBQTRCLFlBQVksQ0FBQyxRQUFTLENBQUM7U0FDbkQ7UUFDRCxPQUFRLE1BQU0sQ0FBQztJQUN0QixDQUFDO0lBQ0QsZUFBZSxDQUFFLElBQVk7UUFDNUIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELDJCQUEyQixDQUFFLElBQVksRUFBRSxPQUFZO1FBQ3RELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDekMsQ0FBQztJQUNELDZCQUE2QixDQUFDLElBQVk7UUFDekMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELHlCQUF5QixDQUFDLElBQVk7UUFDckMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxDQUFDO0lBQ3BELENBQUM7SUFDRCx5QkFBeUIsQ0FBRSxJQUFZO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OzJHQXZFVyxhQUFhOytHQUFiLGFBQWE7NEZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtcblx0SW5qZWN0YWJsZSwgXG5cdENvbXBvbmVudFJlZiwgXG5cdFZpZXdDb250YWluZXJSZWYsXG5cdEVtYmVkZGVkVmlld1JlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUGlwZUNvbXBvbmVudEludGVyZmFjZSB9IGZyb20gJy4vcGlwZS5jb21wb25lbnQuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbXBvbmVudFBvb2wge1xuXHRwcml2YXRlIHJlZ2lzdGVyZWRQaXBlczogYW55PSB7fTtcblx0cHJpdmF0ZSByZWdpc3RlcmVkQ29tcG9uZW50czogYW55PSB7fTtcblx0cHJpdmF0ZSByZWdpc3RlcmVkU2VydmljZXM6IGFueT0ge307XG5cdHByaXZhdGUgcmVnaXN0ZXJlZFBhdHRlcm5zOmFueSA9IHt9O1xuXG5cdGdldFJlZ2lzdGVyZWRQYXR0ZXJucygpIHtcblx0XHRyZXR1cm4gdGhpcy5yZWdpc3RlcmVkUGF0dGVybnM7XG5cdH1cblx0cmVnaXN0ZXJQaXBlVHJhbnNmb3JtYXRpb24gKG5hbWU6IHN0cmluZywgcGlwZTogYW55KSB7XG5cdFx0dGhpcy5yZWdpc3RlcmVkUGlwZXNbbmFtZV0gPSBwaXBlO1xuXHRcdGlmICghdGhpcy5yZWdpc3RlcmVkUGF0dGVybnNbbmFtZV0pIHtcblx0XHRcdHRoaXMucmVnaXN0ZXJlZFBhdHRlcm5zW25hbWVdID0gbmFtZTtcblx0XHR9XG5cdH1cblx0cmVnaXN0ZXJlZEZvclBpcGVUcmFuc2Zvcm1hdGlvbk5hbWVkKGtleTogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIHRoaXMucmVnaXN0ZXJlZFBpcGVzW2tleV0gIT09IHVuZGVmaW5lZDtcblx0fVxuXHRyZWdpc3RlcmVkUGlwZVRyYW5zZm9ybWF0aW9uKGtleTogc3RyaW5nLCBjb250ZW50OiBhbnksIGFyZ3M6IHN0cmluZ1tdLCBjYWxsYmFjaz86IGFueSwgZGF0YT86IGFueSkge1xuICAgICAgICBjb25zdCBwaXBlID0gdGhpcy5yZWdpc3RlcmVkUGlwZXNba2V5XTtcbiAgICAgICAgXG4gICAgICAgIHJldHVybiBwaXBlID8gcGlwZShjb250ZW50LCBhcmdzLCBjYWxsYmFjaywgZGF0YSkgOiBudWxsO1xuXHR9XG5cdHJlbW92ZVBpcGVUcmFuc2Zvcm1hdGlvbiAoa2V5OiBzdHJpbmcpIHtcblx0XHRkZWxldGUgdGhpcy5yZWdpc3RlcmVkUGlwZXNba2V5XTtcblxuXHRcdGNvbnN0IHYgPSB0aGlzLnJlZ2lzdGVyZWRQYXR0ZXJuc1trZXldO1xuXHRcdGlmICggdiA9PT0ga2V5KSB7XG5cdFx0XHRkZWxldGUgdGhpcy5yZWdpc3RlcmVkUGF0dGVybnNba2V5XTtcblx0XHR9XG5cdH1cblxuXHRyZWdpc3RlckNvbXBvbmVudCAobmFtZTogc3RyaW5nLCBjb21wb25lbnQ6IGFueSkge1xuXHRcdHRoaXMucmVnaXN0ZXJlZENvbXBvbmVudHNbbmFtZV0gPSBjb21wb25lbnQ7XG5cdFx0dGhpcy5yZWdpc3RlcmVkUGF0dGVybnNbbmFtZV0gPSBjb21wb25lbnQuc2V0dGluZ3NQYXR0ZXJucygpXG5cdH1cblx0cmVnaXN0ZXJlZEZvckNvbXBvbmVudFdpdGhOYW1lZChuYW1lOiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gdGhpcy5yZWdpc3RlcmVkQ29tcG9uZW50c1tuYW1lXSAhPT0gdW5kZWZpbmVkO1xuXHR9XG5cdHJlZ2lzdGVyZWRDb21wb25lbnQoXG5cdFx0bmFtZTogc3RyaW5nLFxuXHRcdHZpZXdSZWZyZW5jZTogVmlld0NvbnRhaW5lclJlZixcblx0XHRlbDogSFRNTEVsZW1lbnQpOiBQaXBlQ29tcG9uZW50SW50ZXJmYWNlIHtcblx0XHRjb25zdCBjb21wb25lbnQgPSAgbmFtZSA/IHRoaXMucmVnaXN0ZXJlZENvbXBvbmVudHNbbmFtZV0gOiB1bmRlZmluZWQ7XG5cdFx0bGV0IHJlc3VsdCE6IFBpcGVDb21wb25lbnRJbnRlcmZhY2U7XG5cdFx0XG4gICAgICAgIGlmIChjb21wb25lbnQpIHtcblx0XHRcdGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gPSB2aWV3UmVmcmVuY2UuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCk7XG5cdFx0XHRjb25zdCBkb21FbGVtID0gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWYgPCBhbnkgPiApLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcblx0XHRcdGVsLmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuXHRcdFx0ZG9tRWxlbS5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBcImludG9cIik7XG5cdFx0XHRyZXN1bHQgPSAoPFBpcGVDb21wb25lbnRJbnRlcmZhY2U+Y29tcG9uZW50UmVmLmluc3RhbmNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gIHJlc3VsdDtcblx0fVxuXHRyZW1vdmVDb21wb25lbnQgKG5hbWU6IHN0cmluZykge1xuXHRcdGRlbGV0ZSB0aGlzLnJlZ2lzdGVyZWRDb21wb25lbnRzW25hbWVdO1xuXHRcdGRlbGV0ZSB0aGlzLnJlZ2lzdGVyZWRQYXR0ZXJuc1tuYW1lXTtcblx0fVxuXG5cdHJlZ2lzdGVyU2VydmljZUZvckNvbXBvbmVudCAobmFtZTogc3RyaW5nLCBzZXJ2aWNlOiBhbnkpIHtcblx0XHR0aGlzLnJlZ2lzdGVyZWRTZXJ2aWNlc1tuYW1lXSA9IHNlcnZpY2U7XG5cdH1cblx0cmVnaXN0ZXJlZFNlcnZpY2VGb3JDb21wb25lbnQobmFtZTogc3RyaW5nKTogYW55IHtcblx0XHRyZXR1cm4gdGhpcy5yZWdpc3RlcmVkU2VydmljZXNbbmFtZV07XG5cdH1cblx0cmVnaXN0ZXJlZEZvclNlcnZpY2VOYW1lZChuYW1lOiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gdGhpcy5yZWdpc3RlcmVkU2VydmljZXNbbmFtZV0gIT09IHVuZGVmaW5lZDtcblx0fVxuXHRyZW1vdmVTZXJ2aWNlRm9yQ29tcG9uZW50IChuYW1lOiBzdHJpbmcpIHtcblx0XHRkZWxldGUgdGhpcy5yZWdpc3RlcmVkU2VydmljZXNbbmFtZV07XG5cdH1cbn0iXX0=