import 'reflect-metadata' ; import { metadata } from '../constants' ; import { EuvComponentOptions } from '../interfaces' ; const componentFactory = ( options ? ) => target => { const types = Reflect . getMetadata ( metadata . DESIGN_PARAM_TYPES , target ) ; Reflect . defineMetadata ( metadata . HOST_PARAM_TYPES , types , target ) ; Reflect . defineMetadata ( metadata . COMPONENT_IDENTIFIER , options || { } , target ) ; return target ; } ; export const Component = ( options ? ) => componentFactory ( options ) ;