import 'reflect-metadata' ; import { ClassType , ReflectedType } from './publicTypes' ; import { createReflective } from './common' ; import { MarkReflective } from './common' ; const MetadataKey = Symbol ( "tsruntime:type" ) ; export function defineReflectMetadata ( target , reflectedType ) { Reflect . defineMetadata ( MetadataKey , reflectedType , target ) ; } export const Reflective = createReflective ( reflectedType => ( target ) => { defineReflectMetadata ( target , reflectedType ) ; } ) ; export function getClassType ( target ) { return Reflect . getMetadata ( MetadataKey , target ) ; }