| OLD | NEW |
| 1 Sky Event Model | 1 Sky Event Model |
| 2 =============== | 2 =============== |
| 3 | 3 |
| 4 ```dart | 4 ```dart |
| 5 SKY MODULE | 5 SKY MODULE |
| 6 <!-- part of dart:sky --> | 6 <!-- part of dart:sky --> |
| 7 | 7 |
| 8 <script> | 8 <script> |
| 9 import 'dart:collection'; | 9 import 'dart:collection'; |
| 10 import 'dart:async'; | 10 import 'dart:async'; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 if (_listeners == null) | 48 if (_listeners == null) |
| 49 _listeners = new List<Pair<Handler, ZoneUnaryCallback>>(); | 49 _listeners = new List<Pair<Handler, ZoneUnaryCallback>>(); |
| 50 _listeners.add(new Pair<Handler, ZoneUnaryCallback>(handler, Zone.current.bi
ndUnaryCallback(handler))); | 50 _listeners.add(new Pair<Handler, ZoneUnaryCallback>(handler, Zone.current.bi
ndUnaryCallback(handler))); |
| 51 } | 51 } |
| 52 bool unlisten(Handler<T> handler) { | 52 bool unlisten(Handler<T> handler) { |
| 53 if (_listeners == null) | 53 if (_listeners == null) |
| 54 return false; | 54 return false; |
| 55 var target = _listeners.lastWhere((v) => v.a == handler, orElse: () => null)
; | 55 var target = _listeners.lastWhere((v) => v.a == handler, orElse: () => null)
; |
| 56 if (target == null) | 56 if (target == null) |
| 57 return false; | 57 return false; |
| 58 _listeners.remove(target); | 58 _listeners.removeAt(_listeners.lastIndexOf(target)); |
| 59 return true; | 59 return true; |
| 60 } | 60 } |
| 61 void _add(T data) { | 61 void _add(T data) { |
| 62 if (_listeners == null) | 62 if (_listeners == null) |
| 63 return; | 63 return; |
| 64 ExceptionListException exceptions = new ExceptionListException(); | 64 ExceptionListException exceptions = new ExceptionListException(); |
| 65 // we make a copy of the list here so that the listeners can | 65 // we make a copy of the list here so that the listeners can |
| 66 // mutate our list without worry | 66 // mutate our list without worry |
| 67 _listeners.toList().forEach((Pair<Handler, ZoneUnaryCallback> item) { | 67 _listeners.toList().forEach((Pair<Handler, ZoneUnaryCallback> item) { |
| 68 try { | 68 try { |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 return event.result; | 179 return event.result; |
| 180 } | 180 } |
| 181 | 181 |
| 182 void _dispatchEventLocally(Event event) { | 182 void _dispatchEventLocally(Event event) { |
| 183 event._currentTarget = this; | 183 event._currentTarget = this; |
| 184 _eventsController.add(event); | 184 _eventsController.add(event); |
| 185 } | 185 } |
| 186 } | 186 } |
| 187 </script> | 187 </script> |
| 188 ``` | 188 ``` |
| OLD | NEW |