'use strict'; 
 | 
// TODO: Remove from `core-js@4` 
 | 
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.defineMetadata` method 
 | 
// https://github.com/rbuckton/reflect-metadata 
 | 
$({ target: 'Reflect', stat: true }, { 
 | 
  defineMetadata: function defineMetadata(metadataKey, metadataValue, target /* , targetKey */) { 
 | 
    var targetKey = arguments.length < 4 ? undefined : toMetadataKey(arguments[3]); 
 | 
    ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), targetKey); 
 | 
  } 
 | 
}); 
 |