var $metadata = require('./_metadata'); | |
var anObject = require('./_an-object'); | |
var aFunction = require('./_a-function'); | |
var toMetaKey = $metadata.key; | |
var ordinaryDefineOwnMetadata = $metadata.set; | |
$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) { | |
return function decorator(target, targetKey) { | |
ordinaryDefineOwnMetadata( | |
metadataKey, metadataValue, | |
(targetKey !== undefined ? anObject : aFunction)(target), | |
toMetaKey(targetKey) | |
); | |
}; | |
} }); |