'use strict'; 
 | 
var $ = require('../internals/export'); 
 | 
var ReflectMetadataModule = require('../internals/reflect-metadata'); 
 | 
var anObject = require('../internals/an-object'); 
 | 
  
 | 
var toMetadataKey = ReflectMetadataModule.toKey; 
 | 
var ordinaryDefineOwnMetadata = ReflectMetadataModule.set; 
 | 
  
 | 
// `Reflect.metadata` method 
 | 
// https://github.com/rbuckton/reflect-metadata 
 | 
$({ target: 'Reflect', stat: true }, { 
 | 
  metadata: function metadata(metadataKey, metadataValue) { 
 | 
    return function decorator(target, key) { 
 | 
      ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetadataKey(key)); 
 | 
    }; 
 | 
  } 
 | 
}); 
 |