Index: third_party/pkg/angular/lib/change_detection/change_detection.dart |
diff --git a/third_party/pkg/angular/lib/change_detection/change_detection.dart b/third_party/pkg/angular/lib/change_detection/change_detection.dart |
deleted file mode 100644 |
index 5db6300cdf864d5773920e7640df7fbceadaa443..0000000000000000000000000000000000000000 |
--- a/third_party/pkg/angular/lib/change_detection/change_detection.dart |
+++ /dev/null |
@@ -1,258 +0,0 @@ |
-library change_detection; |
- |
-typedef EvalExceptionHandler(error, stack); |
- |
-/** |
- * An interface for [ChangeDetectorGroup] groups related watches together. It |
- * guarantees that within the group all watches will be reported in the order in |
- * which they were registered. It also provides an efficient way of removing the |
- * watch group. |
- */ |
-abstract class ChangeDetectorGroup<H> { |
- /** |
- * Watch a specific [field] on an [object]. |
- * |
- * If the [field] is: |
- * - _name_ - Name of the property to watch. (If the [object] is a Map then |
- * treat the name as a key.) |
- * - _[]_ - Watch all items in an array. |
- * - _{}_ - Watch all items in a Map. |
- * - _._ - Watch the actual object identity. |
- * |
- * |
- * Parameters: |
- * - [object] to watch. |
- * - [field] to watch on the [object]. |
- * - [handler] an opaque object passed on to [ChangeRecord]. |
- */ |
- WatchRecord<H> watch(Object object, String field, H handler); |
- |
- /** Use to remove all watches in the group in an efficient manner. */ |
- void remove(); |
- |
- /** Create a child [ChangeDetectorGroup] */ |
- ChangeDetectorGroup<H> newGroup(); |
-} |
- |
-/** |
- * An interface for [ChangeDetector]. An application can have multiple instances |
- * of the [ChangeDetector] to be used for checking different application domains. |
- * |
- * [ChangeDetector] works by comparing the identity of the objects not by |
- * calling the `.equals()` method. This is because ChangeDetector needs to have |
- * predictable performance, and the developer can implement `.equals()` on top |
- * of identity checks. |
- * |
- * - [H] A [ChangeRecord] has associated handler object. The handler object is |
- * opaque to the [ChangeDetector] but it is meaningful to the code which |
- * registered the watcher. It can be a data structure, an object, or a function. |
- * It is up to the developer to attach meaning to it. |
- */ |
-abstract class ChangeDetector<H> extends ChangeDetectorGroup<H> { |
- /** |
- * This method does the work of collecting the changes and returns them as a |
- * linked list of [ChangeRecord]s. The [ChangeRecord]s are returned in the |
- * same order as they were registered. |
- */ |
- ChangeRecord<H> collectChanges({ EvalExceptionHandler exceptionHandler, |
- AvgStopwatch stopwatch }); |
-} |
- |
-abstract class Record<H> { |
- /** The observed object. */ |
- Object get object; |
- |
- /** |
- * The field which is being watched: |
- * - _name_ - Name of the field to watch. |
- * - _[]_ - Watch all items in an array. |
- * - _{}_ - Watch all items in a Map. |
- * - _._ - Watch the actual object identity. |
- */ |
- String get field; |
- |
- /** |
- * An application provided object which contains the specific logic which |
- * needs to be applied when the change is detected. The handler is opaque to |
- * the ChangeDetector and as such can be anything the application desires. |
- */ |
- H get handler; |
- |
- /** Current value of the [field] on the [object] */ |
- get currentValue; |
- /** Previous value of the [field] on the [object] */ |
- get previousValue; |
-} |
- |
-/** |
- * [WatchRecord] API which allows changing what object is being watched and |
- * manually triggering the checking. |
- */ |
-abstract class WatchRecord<H> extends Record<H> { |
- /** Set a new object for checking */ |
- set object(value); |
- |
- /** |
- * Check to see if the field on the object has changed. Returns [null] if no |
- * change, or a [ChangeRecord] if a change has been detected. |
- */ |
- ChangeRecord<H> check(); |
- |
- void remove(); |
-} |
- |
-/** |
- * Provides information about the changes which were detected in objects. |
- * |
- * It exposes a `nextChange` method for traversing all of the changes. |
- */ |
-abstract class ChangeRecord<H> extends Record<H> { |
- /** Next [ChangeRecord] */ |
- ChangeRecord<H> get nextChange; |
-} |
- |
-/** |
- * If the [ChangeDetector] is watching a [Map] then the [currentValue] of |
- * [Record] will contain an instance of this object. A [MapChangeRecord] |
- * contains the changes to the map since the last execution. The changes are |
- * reported as a list of [MapKeyValue]s which contain the key as well as its |
- * current and previous value. |
- */ |
-abstract class MapChangeRecord<K, V> { |
- /// The underlying iterable object |
- Map get map; |
- |
- /// A list of [CollectionKeyValue]s which are in the iteration order. */ |
- KeyValue<K, V> get mapHead; |
- /// A list of changed items. |
- ChangedKeyValue<K, V> get changesHead; |
- /// A list of new added items. |
- AddedKeyValue<K, V> get additionsHead; |
- /// A list of removed items |
- RemovedKeyValue<K, V> get removalsHead; |
- |
- void forEachChange(void f(ChangedKeyValue<K, V> change)); |
- void forEachAddition(void f(AddedKeyValue<K, V> addition)); |
- void forEachRemoval(void f(RemovedKeyValue<K, V> removal)); |
-} |
- |
-/** |
- * Each item in map is wrapped in [MapKeyValue], which can track |
- * the [item]s [currentValue] and [previousValue] location. |
- */ |
-abstract class MapKeyValue<K, V> { |
- /// The item. |
- K get key; |
- |
- /// Previous item location in the list or [null] if addition. |
- V get previousValue; |
- |
- /// Current item location in the list or [null] if removal. |
- V get currentValue; |
-} |
- |
-abstract class KeyValue<K, V> extends MapKeyValue<K, V> { |
- KeyValue<K, V> get nextKeyValue; |
-} |
- |
-abstract class AddedKeyValue<K, V> extends MapKeyValue<K, V> { |
- AddedKeyValue<K, V> get nextAddedKeyValue; |
-} |
- |
-abstract class RemovedKeyValue<K, V> extends MapKeyValue<K, V> { |
- RemovedKeyValue<K, V> get nextRemovedKeyValue; |
-} |
- |
-abstract class ChangedKeyValue<K, V> extends MapKeyValue<K, V> { |
- ChangedKeyValue<K, V> get nextChangedKeyValue; |
-} |
- |
- |
-/** |
- * If the [ChangeDetector] is watching an [Iterable] then the [currentValue] of |
- * [Record] will contain this object. The [CollectionChangeRecord] contains the |
- * changes to the collection since the last execution. The changes are reported |
- * as a list of [CollectionChangeItem]s which contain the item as well as its |
- * current and previous position in the list. |
- */ |
-abstract class CollectionChangeRecord<V> { |
- /** The underlying iterable object */ |
- Iterable get iterable; |
- |
- /** A list of [CollectionItem]s which are in the iteration order. */ |
- CollectionItem<V> get collectionHead; |
- /** A list of new [AddedItem]s. */ |
- AddedItem<V> get additionsHead; |
- /** A list of [MovedItem]s. */ |
- MovedItem<V> get movesHead; |
- /** A list of [RemovedItem]s. */ |
- RemovedItem<V> get removalsHead; |
- |
- void forEachAddition(void f(AddedItem<V> addition)); |
- void forEachMove(void f(MovedItem<V> move)); |
- void forEachRemoval(void f(RemovedItem<V> removal)); |
-} |
- |
-/** |
- * Each changed item in the collection is wrapped in a [CollectionChangeItem], |
- * which tracks the [item]s [currentKey] and [previousKey] location. |
- */ |
-abstract class CollectionChangeItem<V> { |
- /** Previous item location in the list or [null] if addition. */ |
- int get previousIndex; |
- |
- /** Current item location in the list or [null] if removal. */ |
- int get currentIndex; |
- |
- /** The item. */ |
- V get item; |
-} |
- |
-/** |
- * Used to create a linked list of collection items. These items are always in |
- * the iteration order of the collection. |
- */ |
-abstract class CollectionItem<V> extends CollectionChangeItem<V> { |
- CollectionItem<V> get nextCollectionItem; |
-} |
- |
-/** |
- * A linked list of new items added to the collection. These items are always in |
- * the iteration order of the collection. |
- */ |
-abstract class AddedItem<V> extends CollectionChangeItem<V> { |
- AddedItem<V> get nextAddedItem; |
-} |
- |
-/** |
- * A linked list of items moved in the collection. These items are always in |
- * the iteration order of the collection. |
- */ |
-abstract class MovedItem<V> extends CollectionChangeItem<V> { |
- MovedItem<V> get nextMovedItem; |
-} |
- |
-/** |
- * A linked list of items removed from the collection. These items are always |
- * in the iteration order of the collection. |
- */ |
-abstract class RemovedItem<V> extends CollectionChangeItem<V> { |
- RemovedItem<V> get nextRemovedItem; |
-} |
- |
-class AvgStopwatch extends Stopwatch { |
- int _count = 0; |
- |
- int get count => _count; |
- |
- void reset() { |
- _count = 0; |
- super.reset(); |
- } |
- |
- int increment(int count) => _count += count; |
- |
- double get ratePerMs => elapsedMicroseconds == 0 |
- ? 0.0 |
- : _count / elapsedMicroseconds * 1000; |
-} |