16 lines
		
	
	
		
			498 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			498 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
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)
 | 
						|
    );
 | 
						|
  };
 | 
						|
} });
 |