refactor(Async): Unify TS and Dart PromiseCompleter naming

Also add explicit typing wherever we use PromiseCompleter
This commit is contained in:
Jason Teplitz
2015-07-24 17:24:28 -07:00
parent a8b57256c8
commit 7cbaf1076f
10 changed files with 41 additions and 27 deletions
@@ -30,7 +30,7 @@ import {StyleInliner} from 'angular2/src/render/dom/compiler/style_inliner';
import {ViewResolver} from './compiler/view_resolver';
import {DirectiveResolver} from './compiler/directive_resolver';
import {List, ListWrapper} from 'angular2/src/facade/collection';
import {Promise, PromiseWrapper} from 'angular2/src/facade/async';
import {Promise, PromiseWrapper, PromiseCompleter} from 'angular2/src/facade/async';
import {NgZone} from 'angular2/src/core/zone/ng_zone';
import {LifeCycle} from 'angular2/src/core/life_cycle/life_cycle';
import {ShadowDomStrategy} from 'angular2/src/render/dom/shadow_dom/shadow_dom_strategy';
@@ -280,7 +280,7 @@ export function commonBootstrap(
appComponentType: /*Type*/ any,
componentInjectableBindings: List<Type | Binding | List<any>> = null): Promise<ApplicationRef> {
BrowserDomAdapter.makeCurrent();
var bootstrapProcess = PromiseWrapper.completer();
var bootstrapProcess: PromiseCompleter<any> = PromiseWrapper.completer();
var zone = createNgZone(new ExceptionHandler(DOM));
zone.run(() => {
// TODO(rado): prepopulate template cache, so applications with only
+4 -4
View File
@@ -29,7 +29,7 @@ class PromiseWrapper {
return promise.catchError(onError);
}
static CompleterWrapper completer() => new CompleterWrapper(new Completer());
static PromiseCompleter<dynamic> completer() => new PromiseCompleter(new Completer());
}
class TimerWrapper {
@@ -104,10 +104,10 @@ class EventEmitter extends Stream {
}
}
class CompleterWrapper {
final Completer c;
class PromiseCompleter<T> {
final Completer<T> c;
CompleterWrapper(this.c);
PromiseCompleter(this.c);
Future get promise => c.future;
@@ -1,4 +1,9 @@
import {PromiseWrapper, ObservableWrapper, EventEmitter} from 'angular2/src/facade/async';
import {
PromiseWrapper,
ObservableWrapper,
EventEmitter,
PromiseCompleter
} from 'angular2/src/facade/async';
import {StringMapWrapper, List, ListWrapper} from 'angular2/src/facade/collection';
import {isPresent, isBlank, CONST_EXPR} from 'angular2/src/facade/lang';
import {Directive} from 'angular2/annotations';
@@ -134,7 +139,7 @@ export class NgForm extends ControlContainer implements Form {
}
_later(fn) {
var c = PromiseWrapper.completer();
var c: PromiseCompleter<any> = PromiseWrapper.completer();
PromiseWrapper.then(c.promise, fn, (_) => {});
c.resolve(null);
}
+2 -2
View File
@@ -1,11 +1,11 @@
import {Injectable} from 'angular2/di';
import {Promise, PromiseWrapper} from 'angular2/src/facade/async';
import {Promise, PromiseWrapper, PromiseCompleter} from 'angular2/src/facade/async';
import {XHR} from './xhr';
@Injectable()
export class XHRImpl extends XHR {
get(url: string): Promise<string> {
var completer = PromiseWrapper.completer();
var completer: PromiseCompleter < string >= PromiseWrapper.completer();
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'text';
+2 -2
View File
@@ -1,7 +1,7 @@
import {XHR} from 'angular2/src/render/xhr';
import {List, ListWrapper, Map, MapWrapper} from 'angular2/src/facade/collection';
import {isBlank, isPresent, normalizeBlank, BaseException} from 'angular2/src/facade/lang';
import {PromiseWrapper, Promise} from 'angular2/src/facade/async';
import {PromiseCompleter, PromiseWrapper, Promise} from 'angular2/src/facade/async';
export class MockXHR extends XHR {
private _expectations: List<_Expectation>;
@@ -77,7 +77,7 @@ export class MockXHR extends XHR {
class _PendingRequest {
url: string;
completer;
completer: PromiseCompleter<string>;
constructor(url) {
this.url = url;
@@ -26,7 +26,7 @@ import {ExceptionHandler} from 'angular2/src/core/exception_handler';
import {DirectiveResolver} from 'angular2/src/core/compiler/directive_resolver';
import {ViewResolver} from 'angular2/src/core/compiler/view_resolver';
import {List, ListWrapper} from 'angular2/src/facade/collection';
import {Promise, PromiseWrapper} from 'angular2/src/facade/async';
import {Promise, PromiseWrapper, PromiseCompleter} from 'angular2/src/facade/async';
import {NgZone} from 'angular2/src/core/zone/ng_zone';
import {LifeCycle} from 'angular2/src/core/life_cycle/life_cycle';
import {XHR} from 'angular2/src/render/xhr';
@@ -137,7 +137,7 @@ function _injectorBindings(appComponentType, bus: WorkerMessageBus,
export function bootstrapWebworkerCommon(
appComponentType: Type, bus: WorkerMessageBus,
componentInjectableBindings: List<Type | Binding | List<any>> = null): Promise<ApplicationRef> {
var bootstrapProcess = PromiseWrapper.completer();
var bootstrapProcess: PromiseCompleter<any> = PromiseWrapper.completer();
var zone = createNgZone(new ExceptionHandler(new PrintLogger()));
zone.run(() => {
@@ -41,7 +41,7 @@ export class MessageBroker {
var promise: Promise<any>;
var id: string = null;
if (returnType != null) {
var completer = PromiseWrapper.completer();
var completer: PromiseCompleter<any> = PromiseWrapper.completer();
id = this._generateMessageId(args.type + args.method);
this._pending.set(id, completer.resolve);
PromiseWrapper.catchError(completer.promise, (err, stack?) => {