Index: third_party/pkg/angular/lib/core/cache.dart |
diff --git a/third_party/pkg/angular/lib/core/cache.dart b/third_party/pkg/angular/lib/core/cache.dart |
deleted file mode 100644 |
index 588a57567fee2bab5e6af7e3b3367eb21f9ac416..0000000000000000000000000000000000000000 |
--- a/third_party/pkg/angular/lib/core/cache.dart |
+++ /dev/null |
@@ -1,121 +0,0 @@ |
-part of angular.core; |
- |
-class CacheStats { |
- final int capacity; |
- final int size; |
- final int hits; |
- final int misses; |
- CacheStats(this.capacity, this.size, this.hits, this.misses); |
- String toString() => |
- "[CacheStats: capacity: $capacity, size: $size, hits: $hits, misses: $misses]"; |
-} |
- |
- |
-/** |
- * The Cache interface. |
- */ |
-abstract class Cache<K, V> { |
- /** |
- * Returns the value for `key` from the cache. If `key` is not in the cache, |
- * returns `null`. |
- */ |
- V get(K key); |
- /** |
- * Inserts/Updates the `key` in the cache with `value` and returns the value. |
- */ |
- V put(K key, V value); |
- /** |
- * Removes `key` from the cache. If `key` isn't present in the cache, does |
- * nothing. |
- */ |
- V remove(K key); |
- /** |
- * Removes all entries from the cache. |
- */ |
- void removeAll(); |
- int get capacity; |
- int get size; |
- CacheStats stats(); |
-} |
- |
- |
-/** |
- * An unbounded cache. |
- */ |
-class UnboundedCache<K, V> implements Cache<K, V> { |
- Map<K, V> _entries = <K, V>{}; |
- int _hits = 0; |
- int _misses = 0; |
- |
- V get(K key) { |
- V value = _entries[key]; |
- if (value != null || _entries.containsKey(key)) { |
- ++_hits; |
- } else { |
- ++_misses; |
- } |
- return value; |
- } |
- V put(K key, V value) => _entries[key] = value; |
- V remove(K key) => _entries.remove(key); |
- void removeAll() => _entries.clear(); |
- int get capacity => 0; |
- int get size => _entries.length; |
- CacheStats stats() => new CacheStats(capacity, size, _hits, _misses); |
- // Debugging helper. |
- String toString() => "[$runtimeType: size=${_entries.length}, items=$_entries]"; |
-} |
- |
- |
-/** |
- * Simple LRU cache. |
- * |
- * TODO(chirayu): |
- * - add docs |
- * - add tests |
- * - should stringify keys? |
- */ |
-class LruCache<K, V> extends Cache<K, V> { |
- Map<K, V> _entries = new LinkedHashMap<K, V>(); |
- int _capacity; |
- int _hits = 0; |
- int _misses = 0; |
- |
- LruCache({int capacity}) { |
- this._capacity = (capacity == null) ? 0 : capacity; |
- } |
- |
- V get(K key) { |
- V value = _entries[key]; |
- if (value != null || _entries.containsKey(key)) { |
- ++_hits; |
- // refresh |
- _entries.remove(key); |
- _entries[key] = value; |
- } else { |
- ++_misses; |
- } |
- return value; |
- } |
- |
- V put(K key, V value) { |
- // idempotent. needed to refresh an existing key. |
- _entries.remove(key); |
- // _capacity always > 0 but might not be true in some future. |
- if (_capacity > 0 && _capacity == _entries.length) { |
- // drop oldest entry when at capacity |
- // _entries.keys.first is fairly cheap - 2 new calls. |
- _entries.remove(_entries.keys.first); |
- } |
- _entries[key] = value; |
- return value; |
- } |
- |
- V remove(K key) => _entries.remove(key); |
- void removeAll() => _entries.clear(); |
- int get capacity => _capacity; |
- int get size => _entries.length; |
- CacheStats stats() => new CacheStats(capacity, size, _hits, _misses); |
- // Debugging helper. |
- String toString() => "[$runtimeType: capacity=$capacity, size=$size, items=$_entries]"; |
-} |