UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

40 lines 4.87 kB
import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; export class ComponentRegistryService { registry; typeRegistry; constructor() { this.registry = new Map(); this.typeRegistry = new Map(); } register(component, factory) { this.registry.set(component, factory); } registerType(key, type) { this.typeRegistry.set(key, type); } contains(component) { return this.registry.has(component); } get(component, injector) { if (!this.registry.has(component)) { return undefined; } return this.registry.get(component)(injector); } getType(key) { if (!this.typeRegistry.has(key)) { return undefined; } return this.typeRegistry.get(key); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentRegistryService, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentRegistryService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXJlZ2lzdHJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3JlZ2lzdHJ5L2NvbXBvbmVudC1yZWdpc3RyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWtCLE1BQU0sZUFBZSxDQUFDOztBQU0zRCxNQUFNLE9BQU8sd0JBQXdCO0lBRXZCLFFBQVEsQ0FBNEQ7SUFDcEUsWUFBWSxDQUF5QjtJQUUvQztRQUNJLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXdELENBQUM7UUFDaEYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBcUIsQ0FBQztJQUNyRCxDQUFDO0lBRU0sUUFBUSxDQUFDLFNBQWlCLEVBQUUsT0FBcUQ7UUFDcEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxZQUFZLENBQUMsR0FBVyxFQUFFLElBQWU7UUFDNUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxRQUFRLENBQUMsU0FBaUI7UUFDN0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sR0FBRyxDQUFDLFNBQWlCLEVBQUUsUUFBbUI7UUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQy9CLE9BQU8sU0FBUyxDQUFBO1NBQ25CO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sT0FBTyxDQUFDLEdBQVc7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzdCLE9BQU8sU0FBUyxDQUFBO1NBQ25CO1FBQ0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO3dHQWxDUSx3QkFBd0I7NEdBQXhCLHdCQUF3QixjQUZyQixNQUFNOzs0RkFFVCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRSZWdpc3RyeVNlcnZpY2Uge1xuXG4gICAgcHJvdGVjdGVkIHJlZ2lzdHJ5OiBNYXA8c3RyaW5nLCAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBDb21wb25lbnRQb3J0YWw8YW55Pj47XG4gICAgcHJvdGVjdGVkIHR5cGVSZWdpc3RyeTogTWFwPHN0cmluZywgVHlwZTxhbnk+PjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnJlZ2lzdHJ5ID0gbmV3IE1hcDxzdHJpbmcsIChpbmplY3RvcjogSW5qZWN0b3IpID0+IENvbXBvbmVudFBvcnRhbDxhbnk+PigpO1xuICAgICAgICB0aGlzLnR5cGVSZWdpc3RyeSA9IG5ldyBNYXA8c3RyaW5nLCBUeXBlPGFueT4+KCk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyKGNvbXBvbmVudDogc3RyaW5nLCBmYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBDb21wb25lbnRQb3J0YWw8YW55Pik6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZ2lzdHJ5LnNldChjb21wb25lbnQsIGZhY3RvcnkpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3RlclR5cGUoa2V5OiBzdHJpbmcsIHR5cGU6IFR5cGU8YW55Pik6IHZvaWQge1xuICAgICAgICB0aGlzLnR5cGVSZWdpc3RyeS5zZXQoa2V5LCB0eXBlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29udGFpbnMoY29tcG9uZW50OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVnaXN0cnkuaGFzKGNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldChjb21wb25lbnQ6IHN0cmluZywgaW5qZWN0b3I/OiBJbmplY3Rvcik6IENvbXBvbmVudFBvcnRhbDxhbnk+IHtcbiAgICAgICAgaWYgKCF0aGlzLnJlZ2lzdHJ5Lmhhcyhjb21wb25lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucmVnaXN0cnkuZ2V0KGNvbXBvbmVudCkoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUeXBlKGtleTogc3RyaW5nKTogVHlwZTxhbnk+IHtcbiAgICAgICAgaWYgKCF0aGlzLnR5cGVSZWdpc3RyeS5oYXMoa2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGVSZWdpc3RyeS5nZXQoa2V5KTtcbiAgICB9XG59XG4iXX0=