import Vue , { PropOptions } from 'vue' ; import { Constructor } from 'vue/types/options' ; see https const reflectMetadataIsSupported = typeof Reflect !== 'undefined' && typeof Reflect . getMetadata !== 'undefined' ; export function applyMetadata ( options , target , key ) { if ( reflectMetadataIsSupported ) { if ( ! Array . isArray ( options ) && typeof options !== 'function' && ! options . hasOwnProperty ( 'type' ) && typeof options . type === 'undefined' ) { const type = Reflect . getMetadata ( 'design:type' , target , key ) ; if ( type !== Object ) { options . type = type ; } } } }