e40253ed23c69e23a7f1650b9199945c926904e0d0b64f2e7d264ec0e6acee0b8a6a6c175218dfde347689ec85c8fe893fe90ae2f44ac97fb1bf22797b6848 704 B

123456789101112131415
  1. var metadata = require('./_metadata');
  2. var anObject = require('./_an-object');
  3. var toMetaKey = metadata.key;
  4. var getOrCreateMetadataMap = metadata.map;
  5. var store = metadata.store;
  6. metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {
  7. var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);
  8. var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);
  9. if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;
  10. if (metadataMap.size) return true;
  11. var targetMetadata = store.get(target);
  12. targetMetadata['delete'](targetKey);
  13. return !!targetMetadata.size || store['delete'](target);
  14. } });