ng-dynamic-component
Version:
> Dynamic components with full life-cycle support for inputs and outputs
30 lines • 3.19 kB
JavaScript
import { Inject, Injectable, InjectionToken } from '@angular/core';
import * as i0 from "@angular/core";
/**
* @public
*/
export const ReflectRef = new InjectionToken('ReflectRef', {
providedIn: 'root',
factory: () => window.Reflect,
});
/**
* @public
*/
export class ReflectService {
constructor(reflect) {
this.reflect = reflect;
}
getCtorParamTypes(ctor) {
return this.reflect.getMetadata('design:paramtypes', ctor);
}
}
/** @nocollapse */ ReflectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ReflectService, deps: [{ token: ReflectRef }], target: i0.ɵɵFactoryTarget.Injectable });
/** @nocollapse */ ReflectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ReflectService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ReflectService, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
type: Inject,
args: [ReflectRef]
}] }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmbGVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZHluYW1pYy1jb21wb25lbnQvc3JjL2xpYi9yZWZsZWN0L3JlZmxlY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQVEsTUFBTSxlQUFlLENBQUM7O0FBV3pFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxDQUFhLFlBQVksRUFBRTtJQUNyRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQWM7Q0FDckMsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUF3QyxPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO0lBQUcsQ0FBQztJQUUvRCxpQkFBaUIsQ0FBQyxJQUFtQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7OzhIQUxVLGNBQWMsa0JBQ0wsVUFBVTtrSUFEbkIsY0FBYyxjQURELE1BQU07MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFFbkIsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFJlZmxlY3QgQVBJIHN1YnN5c3RlbSByZXF1aXJlZCBmb3IgbGliIHRvIHdvcmtcbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVmbGVjdEFwaSB7XG4gIGdldE1ldGFkYXRhKHR5cGU6IHN0cmluZywgb2JqOiB1bmtub3duKTogdW5rbm93bltdO1xufVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFJlZmxlY3RSZWYgPSBuZXcgSW5qZWN0aW9uVG9rZW48UmVmbGVjdEFwaT4oJ1JlZmxlY3RSZWYnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4gd2luZG93LlJlZmxlY3QgYXMgYW55LFxufSk7XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFJlZmxlY3RTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoQEluamVjdChSZWZsZWN0UmVmKSBwcml2YXRlIHJlZmxlY3Q6IFJlZmxlY3RBcGkpIHt9XG5cbiAgZ2V0Q3RvclBhcmFtVHlwZXMoY3RvcjogVHlwZTx1bmtub3duPik6IHVua25vd25bXSB7XG4gICAgcmV0dXJuIHRoaXMucmVmbGVjdC5nZXRNZXRhZGF0YSgnZGVzaWduOnBhcmFtdHlwZXMnLCBjdG9yKTtcbiAgfVxufVxuIl19