refactor(EventEmitter): rename .next() to .emit()
BREAKING CHANGE: EventEmitter#next(value) is deprecated, use EventEmitter#emit(value) instead. Closes #4287 Closes #5302
This commit is contained in:
@ -117,7 +117,7 @@ export class NgControlName extends NgControl implements OnChanges,
|
||||
|
||||
viewToModelUpdate(newValue: any): void {
|
||||
this.viewModel = newValue;
|
||||
ObservableWrapper.callNext(this.update, newValue);
|
||||
ObservableWrapper.callEmit(this.update, newValue);
|
||||
}
|
||||
|
||||
get path(): string[] { return controlPath(this.name, this._parent); }
|
||||
|
@ -160,7 +160,7 @@ export class NgForm extends ControlContainer implements Form {
|
||||
}
|
||||
|
||||
onSubmit(): boolean {
|
||||
ObservableWrapper.callNext(this.ngSubmit, null);
|
||||
ObservableWrapper.callEmit(this.ngSubmit, null);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -110,7 +110,7 @@ export class NgFormControl extends NgControl implements OnChanges {
|
||||
|
||||
viewToModelUpdate(newValue: any): void {
|
||||
this.viewModel = newValue;
|
||||
ObservableWrapper.callNext(this.update, newValue);
|
||||
ObservableWrapper.callEmit(this.update, newValue);
|
||||
}
|
||||
|
||||
private _isControlChanged(changes: {[key: string]: any}): boolean {
|
||||
|
@ -157,7 +157,7 @@ export class NgFormModel extends ControlContainer implements Form,
|
||||
}
|
||||
|
||||
onSubmit(): boolean {
|
||||
ObservableWrapper.callNext(this.ngSubmit, null);
|
||||
ObservableWrapper.callEmit(this.ngSubmit, null);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -86,6 +86,6 @@ export class NgModel extends NgControl implements OnChanges {
|
||||
|
||||
viewToModelUpdate(newValue: any): void {
|
||||
this.viewModel = newValue;
|
||||
ObservableWrapper.callNext(this.update, newValue);
|
||||
ObservableWrapper.callEmit(this.update, newValue);
|
||||
}
|
||||
}
|
||||
|
@ -128,8 +128,8 @@ export abstract class AbstractControl {
|
||||
}
|
||||
|
||||
if (emitEvent) {
|
||||
ObservableWrapper.callNext(this._valueChanges, this._value);
|
||||
ObservableWrapper.callNext(this._statusChanges, this._status);
|
||||
ObservableWrapper.callEmit(this._valueChanges, this._value);
|
||||
ObservableWrapper.callEmit(this._statusChanges, this._status);
|
||||
}
|
||||
|
||||
if (isPresent(this._parent) && !onlySelf) {
|
||||
@ -185,7 +185,7 @@ export abstract class AbstractControl {
|
||||
this._status = this._calculateStatus();
|
||||
|
||||
if (emitEvent) {
|
||||
ObservableWrapper.callNext(this._statusChanges, this._status);
|
||||
ObservableWrapper.callEmit(this._statusChanges, this._status);
|
||||
}
|
||||
|
||||
if (isPresent(this._parent)) {
|
||||
|
@ -66,5 +66,5 @@ export class QueryList<T> {
|
||||
reset(res: T[]): void { this._results = res; }
|
||||
|
||||
/** @internal */
|
||||
notifyOnChanges(): void { this._emitter.next(this); }
|
||||
notifyOnChanges(): void { this._emitter.emit(this); }
|
||||
}
|
||||
|
@ -1321,8 +1321,8 @@ export var Input: InputFactory = makePropDecorator(InputMetadata);
|
||||
* @Output('everyFiveSeconds') five5Secs = new EventEmitter();
|
||||
*
|
||||
* constructor() {
|
||||
* setInterval(() => this.everySecond.next("event"), 1000);
|
||||
* setInterval(() => this.five5Secs.next("event"), 5000);
|
||||
* setInterval(() => this.everySecond.emit("event"), 1000);
|
||||
* setInterval(() => this.five5Secs.emit("event"), 5000);
|
||||
* }
|
||||
* }
|
||||
*
|
||||
|
@ -496,8 +496,8 @@ export class DirectiveMetadata extends InjectableMetadata {
|
||||
* five5Secs = new EventEmitter();
|
||||
*
|
||||
* constructor() {
|
||||
* setInterval(() => this.everySecond.next("event"), 1000);
|
||||
* setInterval(() => this.five5Secs.next("event"), 5000);
|
||||
* setInterval(() => this.everySecond.emit("event"), 1000);
|
||||
* setInterval(() => this.five5Secs.emit("event"), 5000);
|
||||
* }
|
||||
* }
|
||||
*
|
||||
@ -1047,8 +1047,8 @@ export class InputMetadata {
|
||||
* @Output('everyFiveSeconds') five5Secs = new EventEmitter();
|
||||
*
|
||||
* constructor() {
|
||||
* setInterval(() => this.everySecond.next("event"), 1000);
|
||||
* setInterval(() => this.five5Secs.next("event"), 5000);
|
||||
* setInterval(() => this.everySecond.emit("event"), 1000);
|
||||
* setInterval(() => this.five5Secs.emit("event"), 5000);
|
||||
* }
|
||||
* }
|
||||
*
|
||||
|
@ -187,7 +187,7 @@ export class NgZone {
|
||||
|
||||
/** @internal */
|
||||
_notifyOnTurnStart(parentRun): void {
|
||||
parentRun.call(this._innerZone, () => { this._onTurnStartEvents.next(null); });
|
||||
parentRun.call(this._innerZone, () => { this._onTurnStartEvents.emit(null); });
|
||||
}
|
||||
|
||||
/**
|
||||
@ -216,7 +216,7 @@ export class NgZone {
|
||||
|
||||
/** @internal */
|
||||
_notifyOnTurnDone(parentRun): void {
|
||||
parentRun.call(this._innerZone, () => { this._onTurnDoneEvents.next(null); });
|
||||
parentRun.call(this._innerZone, () => { this._onTurnDoneEvents.emit(null); });
|
||||
}
|
||||
|
||||
/**
|
||||
@ -255,7 +255,7 @@ export class NgZone {
|
||||
|
||||
/** @internal */
|
||||
_notifyOnEventDone(): void {
|
||||
this.runOutsideAngular(() => { this._onEventDoneEvents.next(null); });
|
||||
this.runOutsideAngular(() => { this._onEventDoneEvents.emit(null); });
|
||||
}
|
||||
|
||||
/**
|
||||
@ -440,7 +440,7 @@ export class NgZone {
|
||||
zone = zone.parent;
|
||||
}
|
||||
if (ObservableWrapper.hasSubscribers(this._onErrorEvents)) {
|
||||
ObservableWrapper.callNext(this._onErrorEvents, new NgZoneError(e, trace));
|
||||
ObservableWrapper.callEmit(this._onErrorEvents, new NgZoneError(e, trace));
|
||||
}
|
||||
if (isPresent(this._onErrorHandler)) {
|
||||
this._onErrorHandler(e, trace);
|
||||
|
@ -46,9 +46,14 @@ class ObservableWrapper {
|
||||
s.cancel();
|
||||
}
|
||||
|
||||
@Deprecated('Use callEmit() instead')
|
||||
static void callNext(EventEmitter emitter, value) {
|
||||
emitter.add(value);
|
||||
}
|
||||
|
||||
static void callEmit(EventEmitter emitter, value) {
|
||||
emitter.add(value);
|
||||
}
|
||||
|
||||
static void callError(EventEmitter emitter, error) {
|
||||
emitter.addError(error);
|
||||
@ -85,6 +90,10 @@ class EventEmitter<T> extends Stream<T> {
|
||||
void add(value) {
|
||||
_controller.add(value);
|
||||
}
|
||||
|
||||
void emit(value) {
|
||||
_controller.add(value);
|
||||
}
|
||||
|
||||
void addError(error) {
|
||||
_controller.addError(error);
|
||||
|
@ -39,8 +39,13 @@ export class ObservableWrapper {
|
||||
|
||||
static dispose(subscription: any) { subscription.unsubscribe(); }
|
||||
|
||||
/**
|
||||
* @deprecated - use callEmit() instead
|
||||
*/
|
||||
static callNext(emitter: EventEmitter<any>, value: any) { emitter.next(value); }
|
||||
|
||||
static callEmit(emitter: EventEmitter<any>, value: any) { emitter.emit(value); }
|
||||
|
||||
static callError(emitter: EventEmitter<any>, error: any) { emitter.error(error); }
|
||||
|
||||
static callComplete(emitter: EventEmitter<any>) { emitter.complete(); }
|
||||
@ -78,9 +83,9 @@ export class ObservableWrapper {
|
||||
* toggle() {
|
||||
* this.visible = !this.visible;
|
||||
* if (this.visible) {
|
||||
* this.open.next(null);
|
||||
* this.open.emit(null);
|
||||
* } else {
|
||||
* this.close.next(null);
|
||||
* this.close.emit(null);
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
@ -104,6 +109,13 @@ export class EventEmitter<T> extends Subject<T> {
|
||||
this._isAsync = isAsync;
|
||||
}
|
||||
|
||||
emit(value: T) { super.next(value); }
|
||||
|
||||
/**
|
||||
* @deprecated - use .emit(value) instead
|
||||
*/
|
||||
next(value: any) { super.next(value); }
|
||||
|
||||
subscribe(generatorOrNext?: any, error?: any, complete?: any): any {
|
||||
if (generatorOrNext && typeof generatorOrNext === 'object') {
|
||||
let schedulerFn = this._isAsync ?
|
||||
|
@ -19,7 +19,7 @@ export class SpyLocation implements Location {
|
||||
|
||||
path(): string { return this._path; }
|
||||
|
||||
simulateUrlPop(pathname: string) { ObservableWrapper.callNext(this._subject, {'url': pathname}); }
|
||||
simulateUrlPop(pathname: string) { ObservableWrapper.callEmit(this._subject, {'url': pathname}); }
|
||||
|
||||
prepareExternalUrl(url: string): string {
|
||||
if (url.length > 0 && !url.startsWith('/')) {
|
||||
|
@ -13,7 +13,7 @@ export class MockLocationStrategy extends LocationStrategy {
|
||||
|
||||
simulatePopState(url: string): void {
|
||||
this.internalPath = url;
|
||||
ObservableWrapper.callNext(this._subject, null);
|
||||
ObservableWrapper.callEmit(this._subject, null);
|
||||
}
|
||||
|
||||
path(): string { return this.internalPath; }
|
||||
@ -26,7 +26,7 @@ export class MockLocationStrategy extends LocationStrategy {
|
||||
}
|
||||
|
||||
simulateUrlPop(pathname: string): void {
|
||||
ObservableWrapper.callNext(this._subject, {'url': pathname});
|
||||
ObservableWrapper.callEmit(this._subject, {'url': pathname});
|
||||
}
|
||||
|
||||
pushState(ctx: any, title: string, path: string, query: string): void {
|
||||
|
@ -53,7 +53,7 @@ export class Location {
|
||||
var browserBaseHref = this.platformStrategy.getBaseHref();
|
||||
this._baseHref = stripTrailingSlash(stripIndexHtml(browserBaseHref));
|
||||
this.platformStrategy.onPopState(
|
||||
(_) => { ObservableWrapper.callNext(this._subject, {'url': this.path(), 'pop': true}); });
|
||||
(_) => { ObservableWrapper.callEmit(this._subject, {'url': this.path(), 'pop': true}); });
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -241,7 +241,7 @@ export class Router {
|
||||
return PromiseWrapper.all(unsettledInstructions);
|
||||
}
|
||||
|
||||
private _emitNavigationFinish(url): void { ObservableWrapper.callNext(this._subject, url); }
|
||||
private _emitNavigationFinish(url): void { ObservableWrapper.callEmit(this._subject, url); }
|
||||
|
||||
private _afterPromiseFinishNavigating(promise: Promise<any>): Promise<any> {
|
||||
return PromiseWrapper.catchError(promise.then((_) => this._finishNavigating()), (err) => {
|
||||
|
@ -216,7 +216,7 @@ class UpgradeNg1ComponentAdapter implements OnChanges, DoCheck {
|
||||
}
|
||||
for (var j = 0; j < outputs.length; j++) {
|
||||
var emitter = this[outputs[j]] = new EventEmitter();
|
||||
this.setComponentProperty(outputs[j], ((emitter) => (value) => emitter.next(value))(emitter));
|
||||
this.setComponentProperty(outputs[j], ((emitter) => (value) => emitter.emit(value))(emitter));
|
||||
}
|
||||
for (var k = 0; k < propOuts.length; k++) {
|
||||
this[propOuts[k]] = new EventEmitter();
|
||||
@ -246,7 +246,7 @@ class UpgradeNg1ComponentAdapter implements OnChanges, DoCheck {
|
||||
// ignore because NaN != NaN
|
||||
} else {
|
||||
var eventEmitter: EventEmitter<any> = this[this.propOuts[i]];
|
||||
eventEmitter.next(lastValues[i] = value);
|
||||
eventEmitter.emit(lastValues[i] = value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -107,7 +107,7 @@ export class ClientMessageBroker_ extends ClientMessageBroker {
|
||||
if (id != null) {
|
||||
message['id'] = id;
|
||||
}
|
||||
ObservableWrapper.callNext(this._sink, message);
|
||||
ObservableWrapper.callEmit(this._sink, message);
|
||||
|
||||
return promise;
|
||||
}
|
||||
|
@ -125,9 +125,9 @@ export class PostMessageBusSource implements MessageBusSource {
|
||||
if (StringMapWrapper.contains(this._channels, channel)) {
|
||||
var channelInfo = this._channels[channel];
|
||||
if (channelInfo.runInZone) {
|
||||
this._zone.run(() => { channelInfo.emitter.next(data.message); });
|
||||
this._zone.run(() => { channelInfo.emitter.emit(data.message); });
|
||||
} else {
|
||||
channelInfo.emitter.next(data.message);
|
||||
channelInfo.emitter.emit(data.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -75,7 +75,7 @@ export class ServiceMessageBroker_ extends ServiceMessageBroker {
|
||||
|
||||
private _wrapWebWorkerPromise(id: string, promise: Promise<any>, type: Type): void {
|
||||
PromiseWrapper.then(promise, (result: any) => {
|
||||
ObservableWrapper.callNext(
|
||||
ObservableWrapper.callEmit(
|
||||
this._sink,
|
||||
{'type': 'result', 'value': this._serializer.serialize(result, type), 'id': id});
|
||||
});
|
||||
|
@ -101,7 +101,7 @@ export class EventDispatcher implements RenderEventDispatcher {
|
||||
var serializedLocals = StringMapWrapper.create();
|
||||
StringMapWrapper.set(serializedLocals, '$event', serializedEvent);
|
||||
|
||||
ObservableWrapper.callNext(this._sink, {
|
||||
ObservableWrapper.callEmit(this._sink, {
|
||||
"viewRef": this._serializer.serialize(this._viewRef, RenderViewRef),
|
||||
"elementIndex": elementIndex,
|
||||
"eventName": eventName,
|
||||
|
@ -20,7 +20,7 @@ export class WebWorkerSetup {
|
||||
|
||||
ObservableWrapper.subscribe(source, (message: string) => {
|
||||
if (StringWrapper.equals(message, "ready")) {
|
||||
ObservableWrapper.callNext(sink, {"rootUrl": this.rootUrl});
|
||||
ObservableWrapper.callEmit(sink, {"rootUrl": this.rootUrl});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -140,7 +140,7 @@ export function bootstrapWebWorkerCommon(
|
||||
ObservableWrapper.dispose(subscription);
|
||||
});
|
||||
|
||||
ObservableWrapper.callNext(bus.to(SETUP_CHANNEL), "ready");
|
||||
ObservableWrapper.callEmit(bus.to(SETUP_CHANNEL), "ready");
|
||||
return bootstrapProcess.promise;
|
||||
});
|
||||
return PromiseWrapper.then(appPromise, (app) => app.bootstrap(appComponentType));
|
||||
|
Reference in New Issue
Block a user