| OLD | NEW |
| 1 var async; | 1 var async; |
| 2 (function(exports) { | 2 (function(exports) { |
| 3 'use strict'; | 3 'use strict'; |
| 4 // Function _invokeErrorHandler: (Function, Object, StackTrace) → dynamic | 4 // Function _invokeErrorHandler: (Function, Object, StackTrace) → dynamic |
| 5 function _invokeErrorHandler(errorHandler, error, stackTrace) { | 5 function _invokeErrorHandler(errorHandler, error, stackTrace) { |
| 6 if (dart.is(errorHandler, ZoneBinaryCallback)) { | 6 if (dart.is(errorHandler, ZoneBinaryCallback)) { |
| 7 return dart.dinvokef(errorHandler, error, stackTrace); | 7 return dart.dinvokef(errorHandler, error, stackTrace); |
| 8 } else { | 8 } else { |
| 9 return dart.dinvokef(errorHandler, error); | 9 return dart.dinvokef(errorHandler, error); |
| 10 } | 10 } |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 let _addError = Symbol('_addError'); | 54 let _addError = Symbol('_addError'); |
| 55 let _completeError = Symbol('_completeError'); | 55 let _completeError = Symbol('_completeError'); |
| 56 let _complete = Symbol('_complete'); | 56 let _complete = Symbol('_complete'); |
| 57 let _sink = Symbol('_sink'); | 57 let _sink = Symbol('_sink'); |
| 58 let Stream$ = dart.generic(function(T) { | 58 let Stream$ = dart.generic(function(T) { |
| 59 class Stream extends core.Object { | 59 class Stream extends core.Object { |
| 60 Stream() { | 60 Stream() { |
| 61 } | 61 } |
| 62 fromFuture(future) { | 62 fromFuture(future) { |
| 63 let controller = new (StreamController$(T))({sync: true}); | 63 let controller = new (StreamController$(T))({sync: true}); |
| 64 future.then(dart.closureWrap(((value) => { | 64 future.then(dart.closureWrap((value) => { |
| 65 controller._add(dart.as(value, T)); | 65 controller._add(dart.as(value, T)); |
| 66 controller._closeUnchecked(); | 66 controller._closeUnchecked(); |
| 67 }).bind(this), "(T) → dynamic"), {onError: ((error, stackTrace) => { | 67 }, "(T) → dynamic"), { |
| 68 onError: (error, stackTrace) => { |
| 68 controller._addError(error, dart.as(stackTrace, core.StackTrace)); | 69 controller._addError(error, dart.as(stackTrace, core.StackTrace)); |
| 69 controller._closeUnchecked(); | 70 controller._closeUnchecked(); |
| 70 }).bind(this)}); | 71 } |
| 72 }); |
| 71 return controller.stream; | 73 return controller.stream; |
| 72 } | 74 } |
| 73 fromIterable(data) { | 75 fromIterable(data) { |
| 74 return new (_GeneratedStreamImpl$(T))(() => new (_IterablePendingEvents$
(T))(data)); | 76 return new (_GeneratedStreamImpl$(T))(() => new (_IterablePendingEvents$
(T))(data)); |
| 75 } | 77 } |
| 76 periodic(period, computation) { | 78 periodic(period, computation) { |
| 77 if (computation === void 0) | 79 if (computation === void 0) |
| 78 computation = null; | 80 computation = null; |
| 79 if (computation == null) | 81 if (computation == null) |
| 80 computation = dart.closureWrap((i) => null, "(int) → T"); | 82 computation = dart.closureWrap((i) => null, "(int) → T"); |
| 81 let timer = null; | 83 let timer = null; |
| 82 let computationCount = 0; | 84 let computationCount = 0; |
| 83 let controller = null; | 85 let controller = null; |
| 84 let watch = new core.Stopwatch(); | 86 let watch = new core.Stopwatch(); |
| 85 // Function sendEvent: () → void | 87 // Function sendEvent: () → void |
| 86 function sendEvent() { | 88 function sendEvent() { |
| 87 watch.reset(); | 89 watch.reset(); |
| 88 let data = computation(((x) => computationCount = dart.notNull(x) + 1,
x)(computationCount)); | 90 let data = computation(((x) => computationCount = dart.notNull(x) + 1,
x)(computationCount)); |
| 89 controller.add(data); | 91 controller.add(data); |
| 90 } | 92 } |
| 91 // Function startPeriodicTimer: () → void | 93 // Function startPeriodicTimer: () → void |
| 92 function startPeriodicTimer() { | 94 function startPeriodicTimer() { |
| 93 dart.assert(timer == null); | 95 dart.assert(timer == null); |
| 94 timer = new Timer.periodic(period, (timer) => { | 96 timer = new Timer.periodic(period, (timer) => { |
| 95 sendEvent(); | 97 sendEvent(); |
| 96 }); | 98 }); |
| 97 } | 99 } |
| 98 controller = new (StreamController$(T))({sync: true, onListen: (() => { | 100 controller = new (StreamController$(T))({ |
| 101 sync: true, |
| 102 onListen: () => { |
| 99 watch.start(); | 103 watch.start(); |
| 100 startPeriodicTimer(); | 104 startPeriodicTimer(); |
| 101 }).bind(this), onPause: (() => { | 105 }, |
| 106 onPause: () => { |
| 102 timer.cancel(); | 107 timer.cancel(); |
| 103 timer = null; | 108 timer = null; |
| 104 watch.stop(); | 109 watch.stop(); |
| 105 }).bind(this), onResume: (() => { | 110 }, |
| 111 onResume: () => { |
| 106 dart.assert(timer == null); | 112 dart.assert(timer == null); |
| 107 let elapsed = watch.elapsed; | 113 let elapsed = watch.elapsed; |
| 108 watch.start(); | 114 watch.start(); |
| 109 timer = new Timer(period['-'](elapsed), () => { | 115 timer = new Timer(period['-'](elapsed), () => { |
| 110 timer = null; | 116 timer = null; |
| 111 startPeriodicTimer(); | 117 startPeriodicTimer(); |
| 112 sendEvent(); | 118 sendEvent(); |
| 113 }); | 119 }); |
| 114 }).bind(this), onCancel: (() => { | 120 }, |
| 121 onCancel: () => { |
| 115 if (timer != null) | 122 if (timer != null) |
| 116 timer.cancel(); | 123 timer.cancel(); |
| 117 timer = null; | 124 timer = null; |
| 118 }).bind(this)}); | 125 } |
| 126 }); |
| 119 return controller.stream; | 127 return controller.stream; |
| 120 } | 128 } |
| 121 eventTransformed(source, mapSink) { | 129 eventTransformed(source, mapSink) { |
| 122 return dart.as(new _BoundSinkStream(source, dart.closureWrap(mapSink, "(
EventSink<dynamic>) → EventSink")), Stream$(T)); | 130 return dart.as(new _BoundSinkStream(source, dart.closureWrap(mapSink, "(
EventSink<dynamic>) → EventSink")), Stream$(T)); |
| 123 } | 131 } |
| 124 get isBroadcast() { | 132 get isBroadcast() { |
| 125 return false; | 133 return false; |
| 126 } | 134 } |
| 127 asBroadcastStream(opts) { | 135 asBroadcastStream(opts) { |
| 128 let onListen = opts && 'onListen' in opts ? opts.onListen : null; | 136 let onListen = opts && 'onListen' in opts ? opts.onListen : null; |
| 129 let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null; | 137 let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null; |
| 130 return new (_AsBroadcastStream$(T))(this, dart.closureWrap(onListen, "(S
treamSubscription<dynamic>) → void"), dart.closureWrap(onCancel, "(StreamSubscri
ption<dynamic>) → void")); | 138 return new (_AsBroadcastStream$(T))(this, dart.closureWrap(onListen, "(S
treamSubscription<dynamic>) → void"), dart.closureWrap(onCancel, "(StreamSubscri
ption<dynamic>) → void")); |
| 131 } | 139 } |
| 132 where(test) { | 140 where(test) { |
| 133 return new (_WhereStream$(T))(this, test); | 141 return new (_WhereStream$(T))(this, test); |
| 134 } | 142 } |
| 135 map(convert) { | 143 map(convert) { |
| 136 return new (_MapStream$(T, dynamic))(this, convert); | 144 return new (_MapStream$(T, dynamic))(this, convert); |
| 137 } | 145 } |
| 138 asyncMap(convert) { | 146 asyncMap(convert) { |
| 139 let controller = null; | 147 let controller = null; |
| 140 let subscription = null; | 148 let subscription = null; |
| 141 // Function onListen: () → void | 149 // Function onListen: () → void |
| 142 function onListen() { | 150 function onListen() { |
| 143 let add = controller.add; | 151 let add = controller.add; |
| 144 dart.assert(dart.notNull(dart.is(controller, _StreamController)) || da
rt.notNull(dart.is(controller, _BroadcastStreamController))); | 152 dart.assert(dart.notNull(dart.is(controller, _StreamController)) || da
rt.notNull(dart.is(controller, _BroadcastStreamController))); |
| 145 let eventSink = controller; | 153 let eventSink = controller; |
| 146 let addError = eventSink[_addError]; | 154 let addError = eventSink[_addError]; |
| 147 subscription = this.listen(((event) => { | 155 subscription = this.listen((event) => { |
| 148 let newValue = null; | 156 let newValue = null; |
| 149 try { | 157 try { |
| 150 newValue = convert(event); | 158 newValue = convert(event); |
| 151 } catch (e) { | 159 } catch (e) { |
| 152 let s = dart.stackTrace(e); | 160 let s = dart.stackTrace(e); |
| 153 controller.addError(e, s); | 161 controller.addError(e, s); |
| 154 return; | 162 return; |
| 155 } | 163 } |
| 156 | 164 |
| 157 if (dart.is(newValue, Future)) { | 165 if (dart.is(newValue, Future)) { |
| 158 subscription.pause(); | 166 subscription.pause(); |
| 159 dart.dinvoke(dart.dinvoke(newValue, 'then', add, {onError: addErro
r}), 'whenComplete', subscription.resume); | 167 dart.dinvoke(dart.dinvoke(newValue, 'then', add, {onError: addErro
r}), 'whenComplete', subscription.resume); |
| 160 } else { | 168 } else { |
| 161 controller.add(newValue); | 169 controller.add(newValue); |
| 162 } | 170 } |
| 163 }).bind(this), {onError: dart.as(addError, core.Function), onDone: con
troller.close}); | 171 }, {onError: dart.as(addError, core.Function), onDone: controller.clos
e}); |
| 164 } | 172 } |
| 165 if (this.isBroadcast) { | 173 if (this.isBroadcast) { |
| 166 controller = new StreamController.broadcast({onListen: onListen, onCan
cel: (() => { | 174 controller = new StreamController.broadcast({ |
| 175 onListen: onListen, |
| 176 onCancel: () => { |
| 167 subscription.cancel(); | 177 subscription.cancel(); |
| 168 }).bind(this), sync: true}); | 178 }, |
| 179 sync: true |
| 180 }); |
| 169 } else { | 181 } else { |
| 170 controller = new StreamController({onListen: onListen, onPause: (() =>
{ | 182 controller = new StreamController({ |
| 183 onListen: onListen, |
| 184 onPause: () => { |
| 171 subscription.pause(); | 185 subscription.pause(); |
| 172 }).bind(this), onResume: (() => { | 186 }, |
| 187 onResume: () => { |
| 173 subscription.resume(); | 188 subscription.resume(); |
| 174 }).bind(this), onCancel: (() => { | 189 }, |
| 190 onCancel: () => { |
| 175 subscription.cancel(); | 191 subscription.cancel(); |
| 176 }).bind(this), sync: true}); | 192 }, |
| 193 sync: true |
| 194 }); |
| 177 } | 195 } |
| 178 return controller.stream; | 196 return controller.stream; |
| 179 } | 197 } |
| 180 asyncExpand(convert) { | 198 asyncExpand(convert) { |
| 181 let controller = null; | 199 let controller = null; |
| 182 let subscription = null; | 200 let subscription = null; |
| 183 // Function onListen: () → void | 201 // Function onListen: () → void |
| 184 function onListen() { | 202 function onListen() { |
| 185 dart.assert(dart.notNull(dart.is(controller, _StreamController)) || da
rt.notNull(dart.is(controller, _BroadcastStreamController))); | 203 dart.assert(dart.notNull(dart.is(controller, _StreamController)) || da
rt.notNull(dart.is(controller, _BroadcastStreamController))); |
| 186 let eventSink = controller; | 204 let eventSink = controller; |
| 187 subscription = this.listen(((event) => { | 205 subscription = this.listen((event) => { |
| 188 let newStream = null; | 206 let newStream = null; |
| 189 try { | 207 try { |
| 190 newStream = convert(event); | 208 newStream = convert(event); |
| 191 } catch (e) { | 209 } catch (e) { |
| 192 let s = dart.stackTrace(e); | 210 let s = dart.stackTrace(e); |
| 193 controller.addError(e, s); | 211 controller.addError(e, s); |
| 194 return; | 212 return; |
| 195 } | 213 } |
| 196 | 214 |
| 197 if (newStream != null) { | 215 if (newStream != null) { |
| 198 subscription.pause(); | 216 subscription.pause(); |
| 199 controller.addStream(newStream).whenComplete(subscription.resume); | 217 controller.addStream(newStream).whenComplete(subscription.resume); |
| 200 } | 218 } |
| 201 }).bind(this), {onError: dart.as(eventSink[_addError], core.Function),
onDone: controller.close}); | 219 }, {onError: dart.as(eventSink[_addError], core.Function), onDone: con
troller.close}); |
| 202 } | 220 } |
| 203 if (this.isBroadcast) { | 221 if (this.isBroadcast) { |
| 204 controller = new StreamController.broadcast({onListen: onListen, onCan
cel: (() => { | 222 controller = new StreamController.broadcast({ |
| 223 onListen: onListen, |
| 224 onCancel: () => { |
| 205 subscription.cancel(); | 225 subscription.cancel(); |
| 206 }).bind(this), sync: true}); | 226 }, |
| 227 sync: true |
| 228 }); |
| 207 } else { | 229 } else { |
| 208 controller = new StreamController({onListen: onListen, onPause: (() =>
{ | 230 controller = new StreamController({ |
| 231 onListen: onListen, |
| 232 onPause: () => { |
| 209 subscription.pause(); | 233 subscription.pause(); |
| 210 }).bind(this), onResume: (() => { | 234 }, |
| 235 onResume: () => { |
| 211 subscription.resume(); | 236 subscription.resume(); |
| 212 }).bind(this), onCancel: (() => { | 237 }, |
| 238 onCancel: () => { |
| 213 subscription.cancel(); | 239 subscription.cancel(); |
| 214 }).bind(this), sync: true}); | 240 }, |
| 241 sync: true |
| 242 }); |
| 215 } | 243 } |
| 216 return controller.stream; | 244 return controller.stream; |
| 217 } | 245 } |
| 218 handleError(onError, opts) { | 246 handleError(onError, opts) { |
| 219 let test = opts && 'test' in opts ? opts.test : null; | 247 let test = opts && 'test' in opts ? opts.test : null; |
| 220 return new (_HandleErrorStream$(T))(this, onError, test); | 248 return new (_HandleErrorStream$(T))(this, onError, test); |
| 221 } | 249 } |
| 222 expand(convert) { | 250 expand(convert) { |
| 223 return new (_ExpandStream$(T, dynamic))(this, convert); | 251 return new (_ExpandStream$(T, dynamic))(this, convert); |
| 224 } | 252 } |
| 225 pipe(streamConsumer) { | 253 pipe(streamConsumer) { |
| 226 return streamConsumer.addStream(this).then(((_) => streamConsumer.close(
)).bind(this)); | 254 return streamConsumer.addStream(this).then((_) => streamConsumer.close()
); |
| 227 } | 255 } |
| 228 transform(streamTransformer) { | 256 transform(streamTransformer) { |
| 229 return streamTransformer.bind(this); | 257 return streamTransformer.bind(this); |
| 230 } | 258 } |
| 231 reduce(combine) { | 259 reduce(combine) { |
| 232 let result = new (_Future$(T))(); | 260 let result = new (_Future$(T))(); |
| 233 let seenFirst = false; | 261 let seenFirst = false; |
| 234 let value = null; | 262 let value = null; |
| 235 let subscription = null; | 263 let subscription = null; |
| 236 subscription = this.listen((element) => { | 264 subscription = this.listen((element) => { |
| 237 if (seenFirst) { | 265 if (seenFirst) { |
| 238 _runUserCode(() => combine(value, element), (newValue) => { | 266 _runUserCode(() => combine(value, element), (newValue) => { |
| 239 value = newValue; | 267 value = newValue; |
| 240 }, dart.as(_cancelAndErrorClosure(subscription, result), dart.throw_
("Unimplemented type (dynamic, StackTrace) → dynamic"))); | 268 }, dart.as(_cancelAndErrorClosure(subscription, result), dart.throw_
("Unimplemented type (dynamic, StackTrace) → dynamic"))); |
| 241 } else { | 269 } else { |
| 242 value = element; | 270 value = element; |
| 243 seenFirst = true; | 271 seenFirst = true; |
| 244 } | 272 } |
| 245 }, {onError: result[_completeError], onDone: (() => { | 273 }, { |
| 274 onError: result[_completeError], |
| 275 onDone: () => { |
| 246 if (!dart.notNull(seenFirst)) { | 276 if (!dart.notNull(seenFirst)) { |
| 247 try { | 277 try { |
| 248 throw _internal.IterableElementError.noElement(); | 278 throw _internal.IterableElementError.noElement(); |
| 249 } catch (e) { | 279 } catch (e) { |
| 250 let s = dart.stackTrace(e); | 280 let s = dart.stackTrace(e); |
| 251 _completeWithErrorCallback(result, e, s); | 281 _completeWithErrorCallback(result, e, s); |
| 252 } | 282 } |
| 253 | 283 |
| 254 } else { | 284 } else { |
| 255 result._complete(value); | 285 result._complete(value); |
| 256 } | 286 } |
| 257 }).bind(this), cancelOnError: true}); | 287 }, |
| 288 cancelOnError: true |
| 289 }); |
| 258 return result; | 290 return result; |
| 259 } | 291 } |
| 260 fold(initialValue, combine) { | 292 fold(initialValue, combine) { |
| 261 let result = new _Future(); | 293 let result = new _Future(); |
| 262 let value = initialValue; | 294 let value = initialValue; |
| 263 let subscription = null; | 295 let subscription = null; |
| 264 subscription = this.listen((element) => { | 296 subscription = this.listen((element) => { |
| 265 _runUserCode(() => dart.dinvokef(combine, value, element), (newValue)
=> { | 297 _runUserCode(() => dart.dinvokef(combine, value, element), (newValue)
=> { |
| 266 value = newValue; | 298 value = newValue; |
| 267 }, dart.as(_cancelAndErrorClosure(subscription, result), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); | 299 }, dart.as(_cancelAndErrorClosure(subscription, result), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); |
| 268 }, {onError: ((e, st) => { | 300 }, { |
| 301 onError: (e, st) => { |
| 269 result._completeError(e, dart.as(st, core.StackTrace)); | 302 result._completeError(e, dart.as(st, core.StackTrace)); |
| 270 }).bind(this), onDone: (() => { | 303 }, |
| 304 onDone: () => { |
| 271 result._complete(value); | 305 result._complete(value); |
| 272 }).bind(this), cancelOnError: true}); | 306 }, |
| 307 cancelOnError: true |
| 308 }); |
| 273 return result; | 309 return result; |
| 274 } | 310 } |
| 275 join(separator) { | 311 join(separator) { |
| 276 if (separator === void 0) | 312 if (separator === void 0) |
| 277 separator = ""; | 313 separator = ""; |
| 278 let result = new (_Future$(core.String))(); | 314 let result = new (_Future$(core.String))(); |
| 279 let buffer = new core.StringBuffer(); | 315 let buffer = new core.StringBuffer(); |
| 280 let subscription = null; | 316 let subscription = null; |
| 281 let first = true; | 317 let first = true; |
| 282 subscription = this.listen(((element) => { | 318 subscription = this.listen((element) => { |
| 283 if (!dart.notNull(first)) { | 319 if (!dart.notNull(first)) { |
| 284 buffer.write(separator); | 320 buffer.write(separator); |
| 285 } | 321 } |
| 286 first = false; | 322 first = false; |
| 287 try { | 323 try { |
| 288 buffer.write(element); | 324 buffer.write(element); |
| 289 } catch (e) { | 325 } catch (e) { |
| 290 let s = dart.stackTrace(e); | 326 let s = dart.stackTrace(e); |
| 291 _cancelAndErrorWithReplacement(subscription, result, e, s); | 327 _cancelAndErrorWithReplacement(subscription, result, e, s); |
| 292 } | 328 } |
| 293 | 329 |
| 294 }).bind(this), {onError: ((e) => { | 330 }, { |
| 331 onError: (e) => { |
| 295 result._completeError(e); | 332 result._completeError(e); |
| 296 }).bind(this), onDone: (() => { | 333 }, |
| 334 onDone: () => { |
| 297 result._complete(buffer.toString()); | 335 result._complete(buffer.toString()); |
| 298 }).bind(this), cancelOnError: true}); | 336 }, |
| 337 cancelOnError: true |
| 338 }); |
| 299 return result; | 339 return result; |
| 300 } | 340 } |
| 301 contains(needle) { | 341 contains(needle) { |
| 302 let future = new (_Future$(core.bool))(); | 342 let future = new (_Future$(core.bool))(); |
| 303 let subscription = null; | 343 let subscription = null; |
| 304 subscription = this.listen((element) => { | 344 subscription = this.listen((element) => { |
| 305 _runUserCode(() => dart.equals(element, needle), (isMatch) => { | 345 _runUserCode(() => dart.equals(element, needle), (isMatch) => { |
| 306 if (isMatch) { | 346 if (isMatch) { |
| 307 _cancelAndValue(subscription, future, true); | 347 _cancelAndValue(subscription, future, true); |
| 308 } | 348 } |
| 309 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); | 349 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); |
| 310 }, {onError: future[_completeError], onDone: (() => { | 350 }, { |
| 351 onError: future[_completeError], |
| 352 onDone: () => { |
| 311 future._complete(false); | 353 future._complete(false); |
| 312 }).bind(this), cancelOnError: true}); | 354 }, |
| 355 cancelOnError: true |
| 356 }); |
| 313 return future; | 357 return future; |
| 314 } | 358 } |
| 315 forEach(action) { | 359 forEach(action) { |
| 316 let future = new _Future(); | 360 let future = new _Future(); |
| 317 let subscription = null; | 361 let subscription = null; |
| 318 subscription = this.listen((element) => { | 362 subscription = this.listen((element) => { |
| 319 _runUserCode(() => action(element), (_) => { | 363 _runUserCode(() => action(element), (_) => { |
| 320 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); | 364 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); |
| 321 }, {onError: future[_completeError], onDone: (() => { | 365 }, { |
| 366 onError: future[_completeError], |
| 367 onDone: () => { |
| 322 future._complete(null); | 368 future._complete(null); |
| 323 }).bind(this), cancelOnError: true}); | 369 }, |
| 370 cancelOnError: true |
| 371 }); |
| 324 return future; | 372 return future; |
| 325 } | 373 } |
| 326 every(test) { | 374 every(test) { |
| 327 let future = new (_Future$(core.bool))(); | 375 let future = new (_Future$(core.bool))(); |
| 328 let subscription = null; | 376 let subscription = null; |
| 329 subscription = this.listen((element) => { | 377 subscription = this.listen((element) => { |
| 330 _runUserCode(() => test(element), (isMatch) => { | 378 _runUserCode(() => test(element), (isMatch) => { |
| 331 if (!dart.notNull(isMatch)) { | 379 if (!dart.notNull(isMatch)) { |
| 332 _cancelAndValue(subscription, future, false); | 380 _cancelAndValue(subscription, future, false); |
| 333 } | 381 } |
| 334 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); | 382 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); |
| 335 }, {onError: future[_completeError], onDone: (() => { | 383 }, { |
| 384 onError: future[_completeError], |
| 385 onDone: () => { |
| 336 future._complete(true); | 386 future._complete(true); |
| 337 }).bind(this), cancelOnError: true}); | 387 }, |
| 388 cancelOnError: true |
| 389 }); |
| 338 return future; | 390 return future; |
| 339 } | 391 } |
| 340 any(test) { | 392 any(test) { |
| 341 let future = new (_Future$(core.bool))(); | 393 let future = new (_Future$(core.bool))(); |
| 342 let subscription = null; | 394 let subscription = null; |
| 343 subscription = this.listen((element) => { | 395 subscription = this.listen((element) => { |
| 344 _runUserCode(() => test(element), (isMatch) => { | 396 _runUserCode(() => test(element), (isMatch) => { |
| 345 if (isMatch) { | 397 if (isMatch) { |
| 346 _cancelAndValue(subscription, future, true); | 398 _cancelAndValue(subscription, future, true); |
| 347 } | 399 } |
| 348 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); | 400 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); |
| 349 }, {onError: future[_completeError], onDone: (() => { | 401 }, { |
| 402 onError: future[_completeError], |
| 403 onDone: () => { |
| 350 future._complete(false); | 404 future._complete(false); |
| 351 }).bind(this), cancelOnError: true}); | 405 }, |
| 406 cancelOnError: true |
| 407 }); |
| 352 return future; | 408 return future; |
| 353 } | 409 } |
| 354 get length() { | 410 get length() { |
| 355 let future = new (_Future$(core.int))(); | 411 let future = new (_Future$(core.int))(); |
| 356 let count = 0; | 412 let count = 0; |
| 357 this.listen(dart.closureWrap((_) => { | 413 this.listen(dart.closureWrap((_) => { |
| 358 count = dart.notNull(count) + 1; | 414 count = dart.notNull(count) + 1; |
| 359 }, "(T) → void"), {onError: future[_completeError], onDone: (() => { | 415 }, "(T) → void"), { |
| 416 onError: future[_completeError], |
| 417 onDone: () => { |
| 360 future._complete(count); | 418 future._complete(count); |
| 361 }).bind(this), cancelOnError: true}); | 419 }, |
| 420 cancelOnError: true |
| 421 }); |
| 362 return future; | 422 return future; |
| 363 } | 423 } |
| 364 get isEmpty() { | 424 get isEmpty() { |
| 365 let future = new (_Future$(core.bool))(); | 425 let future = new (_Future$(core.bool))(); |
| 366 let subscription = null; | 426 let subscription = null; |
| 367 subscription = this.listen(dart.closureWrap((_) => { | 427 subscription = this.listen(dart.closureWrap((_) => { |
| 368 _cancelAndValue(subscription, future, false); | 428 _cancelAndValue(subscription, future, false); |
| 369 }, "(T) → void"), {onError: future[_completeError], onDone: (() => { | 429 }, "(T) → void"), { |
| 430 onError: future[_completeError], |
| 431 onDone: () => { |
| 370 future._complete(true); | 432 future._complete(true); |
| 371 }).bind(this), cancelOnError: true}); | 433 }, |
| 434 cancelOnError: true |
| 435 }); |
| 372 return future; | 436 return future; |
| 373 } | 437 } |
| 374 toList() { | 438 toList() { |
| 375 let result = new core.List$(T).from([]); | 439 let result = new core.List$(T).from([]); |
| 376 let future = new (_Future$(core.List$(T)))(); | 440 let future = new (_Future$(core.List$(T)))(); |
| 377 this.listen(((data) => { | 441 this.listen((data) => { |
| 378 result.add(data); | 442 result.add(data); |
| 379 }).bind(this), {onError: future[_completeError], onDone: (() => { | 443 }, { |
| 444 onError: future[_completeError], |
| 445 onDone: () => { |
| 380 future._complete(result); | 446 future._complete(result); |
| 381 }).bind(this), cancelOnError: true}); | 447 }, |
| 448 cancelOnError: true |
| 449 }); |
| 382 return future; | 450 return future; |
| 383 } | 451 } |
| 384 toSet() { | 452 toSet() { |
| 385 let result = new (core.Set$(T))(); | 453 let result = new (core.Set$(T))(); |
| 386 let future = new (_Future$(core.Set$(T)))(); | 454 let future = new (_Future$(core.Set$(T)))(); |
| 387 this.listen(((data) => { | 455 this.listen((data) => { |
| 388 result.add(data); | 456 result.add(data); |
| 389 }).bind(this), {onError: future[_completeError], onDone: (() => { | 457 }, { |
| 458 onError: future[_completeError], |
| 459 onDone: () => { |
| 390 future._complete(result); | 460 future._complete(result); |
| 391 }).bind(this), cancelOnError: true}); | 461 }, |
| 462 cancelOnError: true |
| 463 }); |
| 392 return future; | 464 return future; |
| 393 } | 465 } |
| 394 drain(futureValue) { | 466 drain(futureValue) { |
| 395 if (futureValue === void 0) | 467 if (futureValue === void 0) |
| 396 futureValue = null; | 468 futureValue = null; |
| 397 return this.listen(null, {cancelOnError: true}).asFuture(futureValue); | 469 return this.listen(null, {cancelOnError: true}).asFuture(futureValue); |
| 398 } | 470 } |
| 399 take(count) { | 471 take(count) { |
| 400 return dart.as(new _TakeStream(this, count), Stream$(T)); | 472 return dart.as(new _TakeStream(this, count), Stream$(T)); |
| 401 } | 473 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 434 return future; | 506 return future; |
| 435 } | 507 } |
| 436 get last() { | 508 get last() { |
| 437 let future = new (_Future$(T))(); | 509 let future = new (_Future$(T))(); |
| 438 let result = null; | 510 let result = null; |
| 439 let foundResult = false; | 511 let foundResult = false; |
| 440 let subscription = null; | 512 let subscription = null; |
| 441 subscription = this.listen((value) => { | 513 subscription = this.listen((value) => { |
| 442 foundResult = true; | 514 foundResult = true; |
| 443 result = value; | 515 result = value; |
| 444 }, {onError: future[_completeError], onDone: (() => { | 516 }, { |
| 517 onError: future[_completeError], |
| 518 onDone: () => { |
| 445 if (foundResult) { | 519 if (foundResult) { |
| 446 future._complete(result); | 520 future._complete(result); |
| 447 return; | 521 return; |
| 448 } | 522 } |
| 449 try { | 523 try { |
| 450 throw _internal.IterableElementError.noElement(); | 524 throw _internal.IterableElementError.noElement(); |
| 451 } catch (e) { | 525 } catch (e) { |
| 452 let s = dart.stackTrace(e); | 526 let s = dart.stackTrace(e); |
| 453 _completeWithErrorCallback(future, e, s); | 527 _completeWithErrorCallback(future, e, s); |
| 454 } | 528 } |
| 455 | 529 |
| 456 }).bind(this), cancelOnError: true}); | 530 }, |
| 531 cancelOnError: true |
| 532 }); |
| 457 return future; | 533 return future; |
| 458 } | 534 } |
| 459 get single() { | 535 get single() { |
| 460 let future = new (_Future$(T))(); | 536 let future = new (_Future$(T))(); |
| 461 let result = null; | 537 let result = null; |
| 462 let foundResult = false; | 538 let foundResult = false; |
| 463 let subscription = null; | 539 let subscription = null; |
| 464 subscription = this.listen((value) => { | 540 subscription = this.listen((value) => { |
| 465 if (foundResult) { | 541 if (foundResult) { |
| 466 try { | 542 try { |
| 467 throw _internal.IterableElementError.tooMany(); | 543 throw _internal.IterableElementError.tooMany(); |
| 468 } catch (e) { | 544 } catch (e) { |
| 469 let s = dart.stackTrace(e); | 545 let s = dart.stackTrace(e); |
| 470 _cancelAndErrorWithReplacement(subscription, future, e, s); | 546 _cancelAndErrorWithReplacement(subscription, future, e, s); |
| 471 } | 547 } |
| 472 | 548 |
| 473 return; | 549 return; |
| 474 } | 550 } |
| 475 foundResult = true; | 551 foundResult = true; |
| 476 result = value; | 552 result = value; |
| 477 }, {onError: future[_completeError], onDone: (() => { | 553 }, { |
| 554 onError: future[_completeError], |
| 555 onDone: () => { |
| 478 if (foundResult) { | 556 if (foundResult) { |
| 479 future._complete(result); | 557 future._complete(result); |
| 480 return; | 558 return; |
| 481 } | 559 } |
| 482 try { | 560 try { |
| 483 throw _internal.IterableElementError.noElement(); | 561 throw _internal.IterableElementError.noElement(); |
| 484 } catch (e) { | 562 } catch (e) { |
| 485 let s = dart.stackTrace(e); | 563 let s = dart.stackTrace(e); |
| 486 _completeWithErrorCallback(future, e, s); | 564 _completeWithErrorCallback(future, e, s); |
| 487 } | 565 } |
| 488 | 566 |
| 489 }).bind(this), cancelOnError: true}); | 567 }, |
| 568 cancelOnError: true |
| 569 }); |
| 490 return future; | 570 return future; |
| 491 } | 571 } |
| 492 firstWhere(test, opts) { | 572 firstWhere(test, opts) { |
| 493 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue :
null; | 573 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue :
null; |
| 494 let future = new _Future(); | 574 let future = new _Future(); |
| 495 let subscription = null; | 575 let subscription = null; |
| 496 subscription = this.listen((value) => { | 576 subscription = this.listen((value) => { |
| 497 _runUserCode(() => test(value), (isMatch) => { | 577 _runUserCode(() => test(value), (isMatch) => { |
| 498 if (isMatch) { | 578 if (isMatch) { |
| 499 _cancelAndValue(subscription, future, value); | 579 _cancelAndValue(subscription, future, value); |
| 500 } | 580 } |
| 501 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); | 581 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); |
| 502 }, {onError: future[_completeError], onDone: (() => { | 582 }, { |
| 583 onError: future[_completeError], |
| 584 onDone: () => { |
| 503 if (defaultValue != null) { | 585 if (defaultValue != null) { |
| 504 _runUserCode(defaultValue, future[_complete], future[_completeErro
r]); | 586 _runUserCode(defaultValue, future[_complete], future[_completeErro
r]); |
| 505 return; | 587 return; |
| 506 } | 588 } |
| 507 try { | 589 try { |
| 508 throw _internal.IterableElementError.noElement(); | 590 throw _internal.IterableElementError.noElement(); |
| 509 } catch (e) { | 591 } catch (e) { |
| 510 let s = dart.stackTrace(e); | 592 let s = dart.stackTrace(e); |
| 511 _completeWithErrorCallback(future, e, s); | 593 _completeWithErrorCallback(future, e, s); |
| 512 } | 594 } |
| 513 | 595 |
| 514 }).bind(this), cancelOnError: true}); | 596 }, |
| 597 cancelOnError: true |
| 598 }); |
| 515 return future; | 599 return future; |
| 516 } | 600 } |
| 517 lastWhere(test, opts) { | 601 lastWhere(test, opts) { |
| 518 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue :
null; | 602 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue :
null; |
| 519 let future = new _Future(); | 603 let future = new _Future(); |
| 520 let result = null; | 604 let result = null; |
| 521 let foundResult = false; | 605 let foundResult = false; |
| 522 let subscription = null; | 606 let subscription = null; |
| 523 subscription = this.listen((value) => { | 607 subscription = this.listen((value) => { |
| 524 _runUserCode(() => true == test(value), (isMatch) => { | 608 _runUserCode(() => true == test(value), (isMatch) => { |
| 525 if (isMatch) { | 609 if (isMatch) { |
| 526 foundResult = true; | 610 foundResult = true; |
| 527 result = value; | 611 result = value; |
| 528 } | 612 } |
| 529 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); | 613 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); |
| 530 }, {onError: future[_completeError], onDone: (() => { | 614 }, { |
| 615 onError: future[_completeError], |
| 616 onDone: () => { |
| 531 if (foundResult) { | 617 if (foundResult) { |
| 532 future._complete(result); | 618 future._complete(result); |
| 533 return; | 619 return; |
| 534 } | 620 } |
| 535 if (defaultValue != null) { | 621 if (defaultValue != null) { |
| 536 _runUserCode(defaultValue, future[_complete], future[_completeErro
r]); | 622 _runUserCode(defaultValue, future[_complete], future[_completeErro
r]); |
| 537 return; | 623 return; |
| 538 } | 624 } |
| 539 try { | 625 try { |
| 540 throw _internal.IterableElementError.noElement(); | 626 throw _internal.IterableElementError.noElement(); |
| 541 } catch (e) { | 627 } catch (e) { |
| 542 let s = dart.stackTrace(e); | 628 let s = dart.stackTrace(e); |
| 543 _completeWithErrorCallback(future, e, s); | 629 _completeWithErrorCallback(future, e, s); |
| 544 } | 630 } |
| 545 | 631 |
| 546 }).bind(this), cancelOnError: true}); | 632 }, |
| 633 cancelOnError: true |
| 634 }); |
| 547 return future; | 635 return future; |
| 548 } | 636 } |
| 549 singleWhere(test) { | 637 singleWhere(test) { |
| 550 let future = new (_Future$(T))(); | 638 let future = new (_Future$(T))(); |
| 551 let result = null; | 639 let result = null; |
| 552 let foundResult = false; | 640 let foundResult = false; |
| 553 let subscription = null; | 641 let subscription = null; |
| 554 subscription = this.listen((value) => { | 642 subscription = this.listen((value) => { |
| 555 _runUserCode(() => true == test(value), (isMatch) => { | 643 _runUserCode(() => true == test(value), (isMatch) => { |
| 556 if (isMatch) { | 644 if (isMatch) { |
| 557 if (foundResult) { | 645 if (foundResult) { |
| 558 try { | 646 try { |
| 559 throw _internal.IterableElementError.tooMany(); | 647 throw _internal.IterableElementError.tooMany(); |
| 560 } catch (e) { | 648 } catch (e) { |
| 561 let s = dart.stackTrace(e); | 649 let s = dart.stackTrace(e); |
| 562 _cancelAndErrorWithReplacement(subscription, future, e, s); | 650 _cancelAndErrorWithReplacement(subscription, future, e, s); |
| 563 } | 651 } |
| 564 | 652 |
| 565 return; | 653 return; |
| 566 } | 654 } |
| 567 foundResult = true; | 655 foundResult = true; |
| 568 result = value; | 656 result = value; |
| 569 } | 657 } |
| 570 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); | 658 }, dart.as(_cancelAndErrorClosure(subscription, future), dart.throw_("
Unimplemented type (dynamic, StackTrace) → dynamic"))); |
| 571 }, {onError: future[_completeError], onDone: (() => { | 659 }, { |
| 660 onError: future[_completeError], |
| 661 onDone: () => { |
| 572 if (foundResult) { | 662 if (foundResult) { |
| 573 future._complete(result); | 663 future._complete(result); |
| 574 return; | 664 return; |
| 575 } | 665 } |
| 576 try { | 666 try { |
| 577 throw _internal.IterableElementError.noElement(); | 667 throw _internal.IterableElementError.noElement(); |
| 578 } catch (e) { | 668 } catch (e) { |
| 579 let s = dart.stackTrace(e); | 669 let s = dart.stackTrace(e); |
| 580 _completeWithErrorCallback(future, e, s); | 670 _completeWithErrorCallback(future, e, s); |
| 581 } | 671 } |
| 582 | 672 |
| 583 }).bind(this), cancelOnError: true}); | 673 }, |
| 674 cancelOnError: true |
| 675 }); |
| 584 return future; | 676 return future; |
| 585 } | 677 } |
| 586 elementAt(index) { | 678 elementAt(index) { |
| 587 if (dart.notNull(!(typeof index == 'number')) || dart.notNull(index) < 0
) | 679 if (dart.notNull(!(typeof index == 'number')) || dart.notNull(index) < 0
) |
| 588 throw new core.ArgumentError(index); | 680 throw new core.ArgumentError(index); |
| 589 let future = new (_Future$(T))(); | 681 let future = new (_Future$(T))(); |
| 590 let subscription = null; | 682 let subscription = null; |
| 591 let elementIndex = 0; | 683 let elementIndex = 0; |
| 592 subscription = this.listen((value) => { | 684 subscription = this.listen((value) => { |
| 593 if (index == elementIndex) { | 685 if (index == elementIndex) { |
| 594 _cancelAndValue(subscription, future, value); | 686 _cancelAndValue(subscription, future, value); |
| 595 return; | 687 return; |
| 596 } | 688 } |
| 597 elementIndex = 1; | 689 elementIndex = 1; |
| 598 }, {onError: future[_completeError], onDone: (() => { | 690 }, { |
| 691 onError: future[_completeError], |
| 692 onDone: (() => { |
| 599 future._completeError(new core.RangeError.index(index, this, "index"
, null, elementIndex)); | 693 future._completeError(new core.RangeError.index(index, this, "index"
, null, elementIndex)); |
| 600 }).bind(this), cancelOnError: true}); | 694 }).bind(this), |
| 695 cancelOnError: true |
| 696 }); |
| 601 return future; | 697 return future; |
| 602 } | 698 } |
| 603 timeout(timeLimit, opts) { | 699 timeout(timeLimit, opts) { |
| 604 let onTimeout = opts && 'onTimeout' in opts ? opts.onTimeout : null; | 700 let onTimeout = opts && 'onTimeout' in opts ? opts.onTimeout : null; |
| 605 let controller = null; | 701 let controller = null; |
| 606 let subscription = null; | 702 let subscription = null; |
| 607 let timer = null; | 703 let timer = null; |
| 608 let zone = null; | 704 let zone = null; |
| 609 let timeout = null; | 705 let timeout = null; |
| 610 // Function onData: (T) → void | 706 // Function onData: (T) → void |
| (...skipping 12 matching lines...) Expand all Loading... |
| 623 } | 719 } |
| 624 // Function onDone: () → void | 720 // Function onDone: () → void |
| 625 function onDone() { | 721 function onDone() { |
| 626 timer.cancel(); | 722 timer.cancel(); |
| 627 controller.close(); | 723 controller.close(); |
| 628 } | 724 } |
| 629 // Function onListen: () → void | 725 // Function onListen: () → void |
| 630 function onListen() { | 726 function onListen() { |
| 631 zone = Zone.current; | 727 zone = Zone.current; |
| 632 if (onTimeout == null) { | 728 if (onTimeout == null) { |
| 633 timeout = (() => { | 729 timeout = () => { |
| 634 controller.addError(new TimeoutException("No stream event", timeLi
mit), null); | 730 controller.addError(new TimeoutException("No stream event", timeLi
mit), null); |
| 635 }).bind(this); | 731 }; |
| 636 } else { | 732 } else { |
| 637 onTimeout = dart.closureWrap(zone.registerUnaryCallback(onTimeout),
"(EventSink<dynamic>) → void"); | 733 onTimeout = dart.closureWrap(zone.registerUnaryCallback(onTimeout),
"(EventSink<dynamic>) → void"); |
| 638 let wrapper = new _ControllerEventSinkWrapper(null); | 734 let wrapper = new _ControllerEventSinkWrapper(null); |
| 639 timeout = (() => { | 735 timeout = () => { |
| 640 wrapper[_sink] = controller; | 736 wrapper[_sink] = controller; |
| 641 zone.runUnaryGuarded(onTimeout, wrapper); | 737 zone.runUnaryGuarded(onTimeout, wrapper); |
| 642 wrapper[_sink] = null; | 738 wrapper[_sink] = null; |
| 643 }).bind(this); | 739 }; |
| 644 } | 740 } |
| 645 subscription = this.listen(onData, {onError: onError, onDone: onDone})
; | 741 subscription = this.listen(onData, {onError: onError, onDone: onDone})
; |
| 646 timer = zone.createTimer(timeLimit, dart.as(timeout, dart.throw_("Unim
plemented type () → void"))); | 742 timer = zone.createTimer(timeLimit, dart.as(timeout, dart.throw_("Unim
plemented type () → void"))); |
| 647 } | 743 } |
| 648 // Function onCancel: () → Future<dynamic> | 744 // Function onCancel: () → Future<dynamic> |
| 649 function onCancel() { | 745 function onCancel() { |
| 650 timer.cancel(); | 746 timer.cancel(); |
| 651 let result = subscription.cancel(); | 747 let result = subscription.cancel(); |
| 652 subscription = null; | 748 subscription = null; |
| 653 return result; | 749 return result; |
| 654 } | 750 } |
| 655 controller = this.isBroadcast ? new _SyncBroadcastStreamController(onLis
ten, onCancel) : new _SyncStreamController(onListen, (() => { | 751 controller = this.isBroadcast ? new _SyncBroadcastStreamController(onLis
ten, onCancel) : new _SyncStreamController(onListen, () => { |
| 656 timer.cancel(); | 752 timer.cancel(); |
| 657 subscription.pause(); | 753 subscription.pause(); |
| 658 }).bind(this), (() => { | 754 }, () => { |
| 659 subscription.resume(); | 755 subscription.resume(); |
| 660 timer = zone.createTimer(timeLimit, dart.as(timeout, dart.throw_("Unim
plemented type () → void"))); | 756 timer = zone.createTimer(timeLimit, dart.as(timeout, dart.throw_("Unim
plemented type () → void"))); |
| 661 }).bind(this), onCancel); | 757 }, onCancel); |
| 662 return controller.stream; | 758 return controller.stream; |
| 663 } | 759 } |
| 664 } | 760 } |
| 665 dart.defineNamedConstructor(Stream, 'fromFuture'); | 761 dart.defineNamedConstructor(Stream, 'fromFuture'); |
| 666 dart.defineNamedConstructor(Stream, 'fromIterable'); | 762 dart.defineNamedConstructor(Stream, 'fromIterable'); |
| 667 dart.defineNamedConstructor(Stream, 'periodic'); | 763 dart.defineNamedConstructor(Stream, 'periodic'); |
| 668 dart.defineNamedConstructor(Stream, 'eventTransformed'); | 764 dart.defineNamedConstructor(Stream, 'eventTransformed'); |
| 669 return Stream; | 765 return Stream; |
| 670 }); | 766 }); |
| 671 let Stream = Stream$(dart.dynamic); | 767 let Stream = Stream$(dart.dynamic); |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 863 this[_state] = ~dart.notNull(_BufferingStreamSubscription[_STATE_WAIT_FO
R_CANCEL]); | 959 this[_state] = ~dart.notNull(_BufferingStreamSubscription[_STATE_WAIT_FO
R_CANCEL]); |
| 864 if (this[_isCanceled]) | 960 if (this[_isCanceled]) |
| 865 return this[_cancelFuture]; | 961 return this[_cancelFuture]; |
| 866 this[_cancel](); | 962 this[_cancel](); |
| 867 return this[_cancelFuture]; | 963 return this[_cancelFuture]; |
| 868 } | 964 } |
| 869 asFuture(futureValue) { | 965 asFuture(futureValue) { |
| 870 if (futureValue === void 0) | 966 if (futureValue === void 0) |
| 871 futureValue = null; | 967 futureValue = null; |
| 872 let result = new (_Future$(T))(); | 968 let result = new (_Future$(T))(); |
| 873 this[_onDone] = (() => { | 969 this[_onDone] = () => { |
| 874 result._complete(futureValue); | 970 result._complete(futureValue); |
| 875 }).bind(this); | 971 }; |
| 876 this[_onError] = ((error, stackTrace) => { | 972 this[_onError] = ((error, stackTrace) => { |
| 877 this.cancel(); | 973 this.cancel(); |
| 878 result._completeError(error, dart.as(stackTrace, core.StackTrace)); | 974 result._completeError(error, dart.as(stackTrace, core.StackTrace)); |
| 879 }).bind(this); | 975 }).bind(this); |
| 880 return result; | 976 return result; |
| 881 } | 977 } |
| 882 get [_isInputPaused]() { | 978 get [_isInputPaused]() { |
| 883 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr
iption[_STATE_INPUT_PAUSED])) != 0; | 979 return (dart.notNull(this[_state]) & dart.notNull(_BufferingStreamSubscr
iption[_STATE_INPUT_PAUSED])) != 0; |
| 884 } | 980 } |
| 885 get [_isClosed]() { | 981 get [_isClosed]() { |
| (...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1380 if (this[_hasOneListener]) { | 1476 if (this[_hasOneListener]) { |
| 1381 this[_state] = _BroadcastStreamController[_STATE_FIRING]; | 1477 this[_state] = _BroadcastStreamController[_STATE_FIRING]; |
| 1382 let subscription = dart.as(this[_next], _BroadcastSubscription); | 1478 let subscription = dart.as(this[_next], _BroadcastSubscription); |
| 1383 subscription._add(data); | 1479 subscription._add(data); |
| 1384 this[_state] = ~dart.notNull(_BroadcastStreamController[_STATE_FIRING]
); | 1480 this[_state] = ~dart.notNull(_BroadcastStreamController[_STATE_FIRING]
); |
| 1385 if (this[_isEmpty]) { | 1481 if (this[_isEmpty]) { |
| 1386 this[_callOnCancel](); | 1482 this[_callOnCancel](); |
| 1387 } | 1483 } |
| 1388 return; | 1484 return; |
| 1389 } | 1485 } |
| 1390 this[_forEachListener](((subscription) => { | 1486 this[_forEachListener]((subscription) => { |
| 1391 subscription._add(data); | 1487 subscription._add(data); |
| 1392 }).bind(this)); | 1488 }); |
| 1393 } | 1489 } |
| 1394 [_sendError](error, stackTrace) { | 1490 [_sendError](error, stackTrace) { |
| 1395 if (this[_isEmpty]) | 1491 if (this[_isEmpty]) |
| 1396 return; | 1492 return; |
| 1397 this[_forEachListener](((subscription) => { | 1493 this[_forEachListener]((subscription) => { |
| 1398 subscription._addError(error, stackTrace); | 1494 subscription._addError(error, stackTrace); |
| 1399 }).bind(this)); | 1495 }); |
| 1400 } | 1496 } |
| 1401 [_sendDone]() { | 1497 [_sendDone]() { |
| 1402 if (!dart.notNull(this[_isEmpty])) { | 1498 if (!dart.notNull(this[_isEmpty])) { |
| 1403 this[_forEachListener](dart.closureWrap(((subscription) => { | 1499 this[_forEachListener](dart.closureWrap((subscription) => { |
| 1404 subscription._close(); | 1500 subscription._close(); |
| 1405 }).bind(this), "(_BufferingStreamSubscription<T>) → void")); | 1501 }, "(_BufferingStreamSubscription<T>) → void")); |
| 1406 } else { | 1502 } else { |
| 1407 dart.assert(this[_doneFuture] != null); | 1503 dart.assert(this[_doneFuture] != null); |
| 1408 dart.assert(this[_doneFuture][_mayComplete]); | 1504 dart.assert(this[_doneFuture][_mayComplete]); |
| 1409 this[_doneFuture]._asyncComplete(null); | 1505 this[_doneFuture]._asyncComplete(null); |
| 1410 } | 1506 } |
| 1411 } | 1507 } |
| 1412 } | 1508 } |
| 1413 return _SyncBroadcastStreamController; | 1509 return _SyncBroadcastStreamController; |
| 1414 }); | 1510 }); |
| 1415 let _SyncBroadcastStreamController = _SyncBroadcastStreamController$(dart.dyna
mic); | 1511 let _SyncBroadcastStreamController = _SyncBroadcastStreamController$(dart.dyna
mic); |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1565 } | 1661 } |
| 1566 toString() { | 1662 toString() { |
| 1567 return `DeferredLoadException: '${this[_s]}'`; | 1663 return `DeferredLoadException: '${this[_s]}'`; |
| 1568 } | 1664 } |
| 1569 } | 1665 } |
| 1570 DeferredLoadException[dart.implements] = () => [core.Exception]; | 1666 DeferredLoadException[dart.implements] = () => [core.Exception]; |
| 1571 let Future$ = dart.generic(function(T) { | 1667 let Future$ = dart.generic(function(T) { |
| 1572 class Future extends core.Object { | 1668 class Future extends core.Object { |
| 1573 Future(computation) { | 1669 Future(computation) { |
| 1574 let result = new (_Future$(T))(); | 1670 let result = new (_Future$(T))(); |
| 1575 Timer.run((() => { | 1671 Timer.run(() => { |
| 1576 try { | 1672 try { |
| 1577 result._complete(computation()); | 1673 result._complete(computation()); |
| 1578 } catch (e) { | 1674 } catch (e) { |
| 1579 let s = dart.stackTrace(e); | 1675 let s = dart.stackTrace(e); |
| 1580 _completeWithErrorCallback(result, e, s); | 1676 _completeWithErrorCallback(result, e, s); |
| 1581 } | 1677 } |
| 1582 | 1678 |
| 1583 }).bind(this)); | 1679 }); |
| 1584 return dart.as(result, Future$(T)); | 1680 return dart.as(result, Future$(T)); |
| 1585 } | 1681 } |
| 1586 microtask(computation) { | 1682 microtask(computation) { |
| 1587 let result = new (_Future$(T))(); | 1683 let result = new (_Future$(T))(); |
| 1588 scheduleMicrotask((() => { | 1684 scheduleMicrotask(() => { |
| 1589 try { | 1685 try { |
| 1590 result._complete(computation()); | 1686 result._complete(computation()); |
| 1591 } catch (e) { | 1687 } catch (e) { |
| 1592 let s = dart.stackTrace(e); | 1688 let s = dart.stackTrace(e); |
| 1593 _completeWithErrorCallback(result, e, s); | 1689 _completeWithErrorCallback(result, e, s); |
| 1594 } | 1690 } |
| 1595 | 1691 |
| 1596 }).bind(this)); | 1692 }); |
| 1597 return dart.as(result, Future$(T)); | 1693 return dart.as(result, Future$(T)); |
| 1598 } | 1694 } |
| 1599 sync(computation) { | 1695 sync(computation) { |
| 1600 try { | 1696 try { |
| 1601 let result = computation(); | 1697 let result = computation(); |
| 1602 return new Future$(T).value(result); | 1698 return new Future$(T).value(result); |
| 1603 } catch (error) { | 1699 } catch (error) { |
| 1604 let stackTrace = dart.stackTrace(error); | 1700 let stackTrace = dart.stackTrace(error); |
| 1605 return new Future$(T).error(error, stackTrace); | 1701 return new Future$(T).error(error, stackTrace); |
| 1606 } | 1702 } |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1621 error = _nonNullError(replacement.error); | 1717 error = _nonNullError(replacement.error); |
| 1622 stackTrace = replacement.stackTrace; | 1718 stackTrace = replacement.stackTrace; |
| 1623 } | 1719 } |
| 1624 } | 1720 } |
| 1625 return new _Future$(T).immediateError(error, stackTrace); | 1721 return new _Future$(T).immediateError(error, stackTrace); |
| 1626 } | 1722 } |
| 1627 delayed(duration, computation) { | 1723 delayed(duration, computation) { |
| 1628 if (computation === void 0) | 1724 if (computation === void 0) |
| 1629 computation = null; | 1725 computation = null; |
| 1630 let result = new (_Future$(T))(); | 1726 let result = new (_Future$(T))(); |
| 1631 new Timer(duration, (() => { | 1727 new Timer(duration, () => { |
| 1632 try { | 1728 try { |
| 1633 result._complete(computation == null ? null : computation()); | 1729 result._complete(computation == null ? null : computation()); |
| 1634 } catch (e) { | 1730 } catch (e) { |
| 1635 let s = dart.stackTrace(e); | 1731 let s = dart.stackTrace(e); |
| 1636 _completeWithErrorCallback(result, e, s); | 1732 _completeWithErrorCallback(result, e, s); |
| 1637 } | 1733 } |
| 1638 | 1734 |
| 1639 }).bind(this)); | 1735 }); |
| 1640 return dart.as(result, Future$(T)); | 1736 return dart.as(result, Future$(T)); |
| 1641 } | 1737 } |
| 1642 static wait(futures, opts) { | 1738 static wait(futures, opts) { |
| 1643 let eagerError = opts && 'eagerError' in opts ? opts.eagerError : false; | 1739 let eagerError = opts && 'eagerError' in opts ? opts.eagerError : false; |
| 1644 let cleanUp = opts && 'cleanUp' in opts ? opts.cleanUp : null; | 1740 let cleanUp = opts && 'cleanUp' in opts ? opts.cleanUp : null; |
| 1645 let result = new (_Future$(core.List))(); | 1741 let result = new (_Future$(core.List))(); |
| 1646 let values = null; | 1742 let values = null; |
| 1647 let remaining = 0; | 1743 let remaining = 0; |
| 1648 let error = null; | 1744 let error = null; |
| 1649 let stackTrace = null; | 1745 let stackTrace = null; |
| (...skipping 16 matching lines...) Expand all Loading... |
| 1666 } else { | 1762 } else { |
| 1667 error = theError; | 1763 error = theError; |
| 1668 stackTrace = dart.as(theStackTrace, core.StackTrace); | 1764 stackTrace = dart.as(theStackTrace, core.StackTrace); |
| 1669 } | 1765 } |
| 1670 } else if (remaining == 0 && !dart.notNull(eagerError)) { | 1766 } else if (remaining == 0 && !dart.notNull(eagerError)) { |
| 1671 result._completeError(error, stackTrace); | 1767 result._completeError(error, stackTrace); |
| 1672 } | 1768 } |
| 1673 } | 1769 } |
| 1674 for (let future of futures) { | 1770 for (let future of futures) { |
| 1675 let pos = ((x) => remaining = dart.notNull(x) + 1, x)(remaining); | 1771 let pos = ((x) => remaining = dart.notNull(x) + 1, x)(remaining); |
| 1676 future.then(((value) => { | 1772 future.then((value) => { |
| 1677 remaining = dart.notNull(remaining) - 1; | 1773 remaining = dart.notNull(remaining) - 1; |
| 1678 if (values != null) { | 1774 if (values != null) { |
| 1679 values.set(pos, value); | 1775 values.set(pos, value); |
| 1680 if (remaining == 0) { | 1776 if (remaining == 0) { |
| 1681 result._completeWithValue(values); | 1777 result._completeWithValue(values); |
| 1682 } | 1778 } |
| 1683 } else { | 1779 } else { |
| 1684 if (dart.notNull(cleanUp != null) && dart.notNull(value != null))
{ | 1780 if (dart.notNull(cleanUp != null) && dart.notNull(value != null))
{ |
| 1685 new Future.sync(() => { | 1781 new Future.sync(() => { |
| 1686 dart.dinvokef(cleanUp, value); | 1782 dart.dinvokef(cleanUp, value); |
| 1687 }); | 1783 }); |
| 1688 } | 1784 } |
| 1689 if (remaining == 0 && !dart.notNull(eagerError)) { | 1785 if (remaining == 0 && !dart.notNull(eagerError)) { |
| 1690 result._completeError(error, stackTrace); | 1786 result._completeError(error, stackTrace); |
| 1691 } | 1787 } |
| 1692 } | 1788 } |
| 1693 }).bind(this), {onError: handleError}); | 1789 }, {onError: handleError}); |
| 1694 } | 1790 } |
| 1695 if (remaining == 0) { | 1791 if (remaining == 0) { |
| 1696 return dart.as(new Future.value(/* Unimplemented const */new core.List
.from([])), Future$(core.List)); | 1792 return dart.as(new Future.value(/* Unimplemented const */new core.List
.from([])), Future$(core.List)); |
| 1697 } | 1793 } |
| 1698 values = new core.List(remaining); | 1794 values = new core.List(remaining); |
| 1699 return result; | 1795 return result; |
| 1700 } | 1796 } |
| 1701 static forEach(input, f) { | 1797 static forEach(input, f) { |
| 1702 let iterator = input.iterator; | 1798 let iterator = input.iterator; |
| 1703 return Future.doWhile((() => { | 1799 return Future.doWhile(() => { |
| 1704 if (!dart.notNull(iterator.moveNext())) | 1800 if (!dart.notNull(iterator.moveNext())) |
| 1705 return false; | 1801 return false; |
| 1706 return new Future.sync((() => dart.dinvokef(f, iterator.current)).bind
(this)).then((_) => true); | 1802 return new Future.sync(() => dart.dinvokef(f, iterator.current)).then(
(_) => true); |
| 1707 }).bind(this)); | 1803 }); |
| 1708 } | 1804 } |
| 1709 static doWhile(f) { | 1805 static doWhile(f) { |
| 1710 let doneSignal = new _Future(); | 1806 let doneSignal = new _Future(); |
| 1711 let nextIteration = null; | 1807 let nextIteration = null; |
| 1712 nextIteration = Zone.current.bindUnaryCallback(((keepGoing) => { | 1808 nextIteration = Zone.current.bindUnaryCallback((keepGoing) => { |
| 1713 if (keepGoing) { | 1809 if (keepGoing) { |
| 1714 new Future.sync(f).then(dart.as(nextIteration, dart.throw_("Unimplem
ented type (dynamic) → dynamic")), {onError: doneSignal[_completeError]}); | 1810 new Future.sync(f).then(dart.as(nextIteration, dart.throw_("Unimplem
ented type (dynamic) → dynamic")), {onError: doneSignal[_completeError]}); |
| 1715 } else { | 1811 } else { |
| 1716 doneSignal._complete(null); | 1812 doneSignal._complete(null); |
| 1717 } | 1813 } |
| 1718 }).bind(this), {runGuarded: true}); | 1814 }, {runGuarded: true}); |
| 1719 dart.dinvokef(nextIteration, true); | 1815 dart.dinvokef(nextIteration, true); |
| 1720 return doneSignal; | 1816 return doneSignal; |
| 1721 } | 1817 } |
| 1722 } | 1818 } |
| 1723 dart.defineNamedConstructor(Future, 'microtask'); | 1819 dart.defineNamedConstructor(Future, 'microtask'); |
| 1724 dart.defineNamedConstructor(Future, 'sync'); | 1820 dart.defineNamedConstructor(Future, 'sync'); |
| 1725 dart.defineNamedConstructor(Future, 'value'); | 1821 dart.defineNamedConstructor(Future, 'value'); |
| 1726 dart.defineNamedConstructor(Future, 'error'); | 1822 dart.defineNamedConstructor(Future, 'error'); |
| 1727 dart.defineNamedConstructor(Future, 'delayed'); | 1823 dart.defineNamedConstructor(Future, 'delayed'); |
| 1728 dart.defineLazyProperties(Future, { | 1824 dart.defineLazyProperties(Future, { |
| (...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2061 current[_nextListener] = prev; | 2157 current[_nextListener] = prev; |
| 2062 prev = current; | 2158 prev = current; |
| 2063 current = next; | 2159 current = next; |
| 2064 } | 2160 } |
| 2065 return prev; | 2161 return prev; |
| 2066 } | 2162 } |
| 2067 static [_chainForeignFuture](source, target) { | 2163 static [_chainForeignFuture](source, target) { |
| 2068 dart.assert(!dart.notNull(target[_isComplete])); | 2164 dart.assert(!dart.notNull(target[_isComplete])); |
| 2069 dart.assert(!dart.is(source, _Future)); | 2165 dart.assert(!dart.is(source, _Future)); |
| 2070 target[_isChained] = true; | 2166 target[_isChained] = true; |
| 2071 source.then(((value) => { | 2167 source.then((value) => { |
| 2072 dart.assert(target[_isChained]); | 2168 dart.assert(target[_isChained]); |
| 2073 target._completeWithValue(value); | 2169 target._completeWithValue(value); |
| 2074 }).bind(this), {onError: ((error, stackTrace) => { | 2170 }, { |
| 2171 onError: (error, stackTrace) => { |
| 2075 if (stackTrace === void 0) | 2172 if (stackTrace === void 0) |
| 2076 stackTrace = null; | 2173 stackTrace = null; |
| 2077 dart.assert(target[_isChained]); | 2174 dart.assert(target[_isChained]); |
| 2078 target._completeError(error, dart.as(stackTrace, core.StackTrace)); | 2175 target._completeError(error, dart.as(stackTrace, core.StackTrace)); |
| 2079 }).bind(this)}); | 2176 } |
| 2177 }); |
| 2080 } | 2178 } |
| 2081 static [_chainCoreFuture](source, target) { | 2179 static [_chainCoreFuture](source, target) { |
| 2082 dart.assert(!dart.notNull(target[_isComplete])); | 2180 dart.assert(!dart.notNull(target[_isComplete])); |
| 2083 dart.assert(dart.is(source, _Future)); | 2181 dart.assert(dart.is(source, _Future)); |
| 2084 target[_isChained] = true; | 2182 target[_isChained] = true; |
| 2085 let listener = new _FutureListener.chain(target); | 2183 let listener = new _FutureListener.chain(target); |
| 2086 if (source[_isComplete]) { | 2184 if (source[_isComplete]) { |
| 2087 _Future[_propagateToListeners](source, listener); | 2185 _Future[_propagateToListeners](source, listener); |
| 2088 } else { | 2186 } else { |
| 2089 source._addListener(listener); | 2187 source._addListener(listener); |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2312 source = result; | 2410 source = result; |
| 2313 } | 2411 } |
| 2314 } | 2412 } |
| 2315 timeout(timeLimit, opts) { | 2413 timeout(timeLimit, opts) { |
| 2316 let onTimeout = opts && 'onTimeout' in opts ? opts.onTimeout : null; | 2414 let onTimeout = opts && 'onTimeout' in opts ? opts.onTimeout : null; |
| 2317 if (this[_isComplete]) | 2415 if (this[_isComplete]) |
| 2318 return new _Future.immediate(this); | 2416 return new _Future.immediate(this); |
| 2319 let result = new _Future(); | 2417 let result = new _Future(); |
| 2320 let timer = null; | 2418 let timer = null; |
| 2321 if (onTimeout == null) { | 2419 if (onTimeout == null) { |
| 2322 timer = new Timer(timeLimit, (() => { | 2420 timer = new Timer(timeLimit, () => { |
| 2323 result._completeError(new TimeoutException("Future not completed", t
imeLimit)); | 2421 result._completeError(new TimeoutException("Future not completed", t
imeLimit)); |
| 2324 }).bind(this)); | 2422 }); |
| 2325 } else { | 2423 } else { |
| 2326 let zone = Zone.current; | 2424 let zone = Zone.current; |
| 2327 onTimeout = zone.registerCallback(onTimeout); | 2425 onTimeout = zone.registerCallback(onTimeout); |
| 2328 timer = new Timer(timeLimit, (() => { | 2426 timer = new Timer(timeLimit, () => { |
| 2329 try { | 2427 try { |
| 2330 result._complete(zone.run(onTimeout)); | 2428 result._complete(zone.run(onTimeout)); |
| 2331 } catch (e) { | 2429 } catch (e) { |
| 2332 let s = dart.stackTrace(e); | 2430 let s = dart.stackTrace(e); |
| 2333 result._completeError(e, s); | 2431 result._completeError(e, s); |
| 2334 } | 2432 } |
| 2335 | 2433 |
| 2336 }).bind(this)); | 2434 }); |
| 2337 } | 2435 } |
| 2338 this.then(((v) => { | 2436 this.then((v) => { |
| 2339 if (timer.isActive) { | 2437 if (timer.isActive) { |
| 2340 timer.cancel(); | 2438 timer.cancel(); |
| 2341 result._completeWithValue(v); | 2439 result._completeWithValue(v); |
| 2342 } | 2440 } |
| 2343 }).bind(this), {onError: ((e, s) => { | 2441 }, { |
| 2442 onError: (e, s) => { |
| 2344 if (timer.isActive) { | 2443 if (timer.isActive) { |
| 2345 timer.cancel(); | 2444 timer.cancel(); |
| 2346 result._completeError(e, dart.as(s, core.StackTrace)); | 2445 result._completeError(e, dart.as(s, core.StackTrace)); |
| 2347 } | 2446 } |
| 2348 }).bind(this)}); | 2447 } |
| 2448 }); |
| 2349 return result; | 2449 return result; |
| 2350 } | 2450 } |
| 2351 } | 2451 } |
| 2352 _Future[dart.implements] = () => [Future$(T)]; | 2452 _Future[dart.implements] = () => [Future$(T)]; |
| 2353 dart.defineNamedConstructor(_Future, 'immediate'); | 2453 dart.defineNamedConstructor(_Future, 'immediate'); |
| 2354 dart.defineNamedConstructor(_Future, 'immediateError'); | 2454 dart.defineNamedConstructor(_Future, 'immediateError'); |
| 2355 _Future._INCOMPLETE = 0; | 2455 _Future._INCOMPLETE = 0; |
| 2356 _Future._PENDING_COMPLETE = 1; | 2456 _Future._PENDING_COMPLETE = 1; |
| 2357 _Future._CHAINED = 2; | 2457 _Future._CHAINED = 2; |
| 2358 _Future._VALUE = 4; | 2458 _Future._VALUE = 4; |
| (...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2815 this[_state] = dart.notNull(this[_state]) & ~(dart.notNull(_StreamContro
ller[_STATE_SUBSCRIBED]) | dart.notNull(_StreamController[_STATE_ADDSTREAM])) |
dart.notNull(_StreamController[_STATE_CANCELED]); | 2915 this[_state] = dart.notNull(this[_state]) & ~(dart.notNull(_StreamContro
ller[_STATE_SUBSCRIBED]) | dart.notNull(_StreamController[_STATE_ADDSTREAM])) |
dart.notNull(_StreamController[_STATE_CANCELED]); |
| 2816 if (this[_onCancel] != null) { | 2916 if (this[_onCancel] != null) { |
| 2817 if (result == null) { | 2917 if (result == null) { |
| 2818 try { | 2918 try { |
| 2819 result = dart.as(this[_onCancel](), Future); | 2919 result = dart.as(this[_onCancel](), Future); |
| 2820 } catch (e) { | 2920 } catch (e) { |
| 2821 let s = dart.stackTrace(e); | 2921 let s = dart.stackTrace(e); |
| 2822 result = ((_$) => { | 2922 result = ((_$) => { |
| 2823 _$._asyncCompleteError(e, s); | 2923 _$._asyncCompleteError(e, s); |
| 2824 return _$; | 2924 return _$; |
| 2825 }).bind(this)(new _Future()); | 2925 })(new _Future()); |
| 2826 } | 2926 } |
| 2827 | 2927 |
| 2828 } else { | 2928 } else { |
| 2829 result = result.whenComplete(this[_onCancel]); | 2929 result = result.whenComplete(this[_onCancel]); |
| 2830 } | 2930 } |
| 2831 } | 2931 } |
| 2832 // Function complete: () → void | 2932 // Function complete: () → void |
| 2833 function complete() { | 2933 function complete() { |
| 2834 if (dart.notNull(this[_doneFuture] != null) && dart.notNull(this[_done
Future][_mayComplete])) { | 2934 if (dart.notNull(this[_doneFuture] != null) && dart.notNull(this[_done
Future][_mayComplete])) { |
| 2835 this[_doneFuture]._asyncComplete(null); | 2935 this[_doneFuture]._asyncComplete(null); |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2987 return _StreamSinkWrapper; | 3087 return _StreamSinkWrapper; |
| 2988 }); | 3088 }); |
| 2989 let _StreamSinkWrapper = _StreamSinkWrapper$(dart.dynamic); | 3089 let _StreamSinkWrapper = _StreamSinkWrapper$(dart.dynamic); |
| 2990 let _AddStreamState$ = dart.generic(function(T) { | 3090 let _AddStreamState$ = dart.generic(function(T) { |
| 2991 class _AddStreamState extends core.Object { | 3091 class _AddStreamState extends core.Object { |
| 2992 _AddStreamState(controller, source, cancelOnError) { | 3092 _AddStreamState(controller, source, cancelOnError) { |
| 2993 this.addStreamFuture = new _Future(); | 3093 this.addStreamFuture = new _Future(); |
| 2994 this.addSubscription = source.listen(controller[_add], {onError: dart.as
(cancelOnError ? _AddStreamState.makeErrorHandler(controller) : controller[_addE
rror], core.Function), onDone: controller[_close], cancelOnError: cancelOnError}
); | 3094 this.addSubscription = source.listen(controller[_add], {onError: dart.as
(cancelOnError ? _AddStreamState.makeErrorHandler(controller) : controller[_addE
rror], core.Function), onDone: controller[_close], cancelOnError: cancelOnError}
); |
| 2995 } | 3095 } |
| 2996 static makeErrorHandler(controller) { | 3096 static makeErrorHandler(controller) { |
| 2997 return ((e, s) => { | 3097 return (e, s) => { |
| 2998 controller._addError(e, s); | 3098 controller._addError(e, s); |
| 2999 controller._close(); | 3099 controller._close(); |
| 3000 }).bind(this); | 3100 }; |
| 3001 } | 3101 } |
| 3002 pause() { | 3102 pause() { |
| 3003 this.addSubscription.pause(); | 3103 this.addSubscription.pause(); |
| 3004 } | 3104 } |
| 3005 resume() { | 3105 resume() { |
| 3006 this.addSubscription.resume(); | 3106 this.addSubscription.resume(); |
| 3007 } | 3107 } |
| 3008 cancel() { | 3108 cancel() { |
| 3009 let cancel = this.addSubscription.cancel(); | 3109 let cancel = this.addSubscription.cancel(); |
| 3010 if (cancel == null) { | 3110 if (cancel == null) { |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3301 } | 3401 } |
| 3302 } | 3402 } |
| 3303 } | 3403 } |
| 3304 cancel() { | 3404 cancel() { |
| 3305 return null; | 3405 return null; |
| 3306 } | 3406 } |
| 3307 asFuture(futureValue) { | 3407 asFuture(futureValue) { |
| 3308 if (futureValue === void 0) | 3408 if (futureValue === void 0) |
| 3309 futureValue = null; | 3409 futureValue = null; |
| 3310 let result = new _Future(); | 3410 let result = new _Future(); |
| 3311 this[_onDone] = (() => { | 3411 this[_onDone] = () => { |
| 3312 result._completeWithValue(null); | 3412 result._completeWithValue(null); |
| 3313 }).bind(this); | 3413 }; |
| 3314 return result; | 3414 return result; |
| 3315 } | 3415 } |
| 3316 [_sendDone]() { | 3416 [_sendDone]() { |
| 3317 this[_state] = ~dart.notNull(_DoneStreamSubscription[_SCHEDULED]); | 3417 this[_state] = ~dart.notNull(_DoneStreamSubscription[_SCHEDULED]); |
| 3318 if (this.isPaused) | 3418 if (this.isPaused) |
| 3319 return; | 3419 return; |
| 3320 this[_state] = _DoneStreamSubscription[_DONE_SENT]; | 3420 this[_state] = _DoneStreamSubscription[_DONE_SENT]; |
| 3321 if (this[_onDone] != null) | 3421 if (this[_onDone] != null) |
| 3322 this[_zone].runGuarded(this[_onDone]); | 3422 this[_zone].runGuarded(this[_onDone]); |
| 3323 } | 3423 } |
| (...skipping 1688 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5012 exports.StreamIterator = StreamIterator; | 5112 exports.StreamIterator = StreamIterator; |
| 5013 exports.StreamIterator$ = StreamIterator$; | 5113 exports.StreamIterator$ = StreamIterator$; |
| 5014 exports.StreamController = StreamController; | 5114 exports.StreamController = StreamController; |
| 5015 exports.StreamController$ = StreamController$; | 5115 exports.StreamController$ = StreamController$; |
| 5016 exports.Timer = Timer; | 5116 exports.Timer = Timer; |
| 5017 exports.ZoneSpecification = ZoneSpecification; | 5117 exports.ZoneSpecification = ZoneSpecification; |
| 5018 exports.ZoneDelegate = ZoneDelegate; | 5118 exports.ZoneDelegate = ZoneDelegate; |
| 5019 exports.Zone = Zone; | 5119 exports.Zone = Zone; |
| 5020 exports.runZoned = runZoned; | 5120 exports.runZoned = runZoned; |
| 5021 })(async || (async = {})); | 5121 })(async || (async = {})); |
| OLD | NEW |