You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							21 lines
						
					
					
						
							963 B
						
					
					
				
			
		
		
	
	
							21 lines
						
					
					
						
							963 B
						
					
					
				var $ = require('../internals/export'); | 
						|
var ReflectMetadataModule = require('../internals/reflect-metadata'); | 
						|
var anObject = require('../internals/an-object'); | 
						|
 | 
						|
var toMetadataKey = ReflectMetadataModule.toKey; | 
						|
var getOrCreateMetadataMap = ReflectMetadataModule.getMap; | 
						|
var store = ReflectMetadataModule.store; | 
						|
 | 
						|
// `Reflect.deleteMetadata` method | 
						|
// https://github.com/rbuckton/reflect-metadata | 
						|
$({ target: 'Reflect', stat: true }, { | 
						|
  deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) { | 
						|
    var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); | 
						|
    var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); | 
						|
    if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false; | 
						|
    if (metadataMap.size) return true; | 
						|
    var targetMetadata = store.get(target); | 
						|
    targetMetadata['delete'](targetKey); | 
						|
    return !!targetMetadata.size || store['delete'](target); | 
						|
  } | 
						|
});
 | 
						|
 |