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.
		
		
		
		
		
			
		
			
				
					16 lines
				
				704 B
			
		
		
			
		
	
	
					16 lines
				
				704 B
			| 
								 
											3 years ago
										 
									 | 
							
								var metadata = require('./_metadata');
							 | 
						||
| 
								 | 
							
								var anObject = require('./_an-object');
							 | 
						||
| 
								 | 
							
								var toMetaKey = metadata.key;
							 | 
						||
| 
								 | 
							
								var getOrCreateMetadataMap = metadata.map;
							 | 
						||
| 
								 | 
							
								var store = metadata.store;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {
							 | 
						||
| 
								 | 
							
								  var targetKey = arguments.length < 3 ? undefined : toMetaKey(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);
							 | 
						||
| 
								 | 
							
								} });
							 |