diff --git a/modules/@angular/core/src/application_ref.ts b/modules/@angular/core/src/application_ref.ts index 9345041636..462b298786 100644 --- a/modules/@angular/core/src/application_ref.ts +++ b/modules/@angular/core/src/application_ref.ts @@ -22,7 +22,7 @@ import {NgModuleFactory, NgModuleInjector, NgModuleRef} from './linker/ng_module import {WtfScopeFn, wtfCreateScope, wtfLeave} from './profile/profile'; import {Testability, TestabilityRegistry} from './testability/testability'; import {Type} from './type'; -import {NgZone, NgZoneError} from './zone/ng_zone'; +import {NgZone} from './zone/ng_zone'; var _devMode: boolean = true; var _runModeLocked: boolean = false; @@ -300,9 +300,8 @@ export class PlatformRef_ extends PlatformRef { throw new Error('No ExceptionHandler. Is platform module (BrowserModule) included?'); } moduleRef.onDestroy(() => ListWrapper.remove(this._modules, moduleRef)); - ngZone.onError.subscribe({ - next: (error: NgZoneError) => { exceptionHandler.call(error.error, error.stackTrace); } - }); + ngZone.onError.subscribe( + {next: (error: any) => { exceptionHandler.call(error, error ? error.stack : null); }}); return _callAndReportToExceptionHandler(exceptionHandler, () => { const initStatus: ApplicationInitStatus = moduleRef.injector.get(ApplicationInitStatus); return initStatus.donePromise.then(() => { diff --git a/modules/@angular/core/src/zone.ts b/modules/@angular/core/src/zone.ts index f4ff185c1a..e4f9a99060 100644 --- a/modules/@angular/core/src/zone.ts +++ b/modules/@angular/core/src/zone.ts @@ -7,4 +7,4 @@ */ // Public API for Zone -export {NgZone, NgZoneError} from './zone/ng_zone'; +export {NgZone} from './zone/ng_zone'; diff --git a/modules/@angular/core/src/zone/ng_zone.ts b/modules/@angular/core/src/zone/ng_zone.ts index c62060e0f6..89a54d33ac 100644 --- a/modules/@angular/core/src/zone/ng_zone.ts +++ b/modules/@angular/core/src/zone/ng_zone.ts @@ -9,10 +9,7 @@ import {EventEmitter} from '../facade/async'; import {BaseException} from '../facade/exceptions'; -import {NgZoneError, NgZoneImpl} from './ng_zone_impl'; - -export {NgZoneError} from './ng_zone_impl'; - +import {NgZoneImpl} from './ng_zone_impl'; /** @@ -139,7 +136,7 @@ export class NgZone { this._checkStable(); }, setMacrotask: (hasMacrotasks: boolean) => { this._hasPendingMacrotasks = hasMacrotasks; }, - onError: (error: NgZoneError) => this._onErrorEvents.emit(error) + onError: (error: any) => this._onErrorEvents.emit(error) }); } diff --git a/modules/@angular/core/src/zone/ng_zone_impl.ts b/modules/@angular/core/src/zone/ng_zone_impl.ts index e104d09edd..5c432a25f7 100644 --- a/modules/@angular/core/src/zone/ng_zone_impl.ts +++ b/modules/@angular/core/src/zone/ng_zone_impl.ts @@ -6,14 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -/** - * Stores error information; delivered via [NgZone.onError] stream. - * @deprecated - */ -export class NgZoneError { - constructor(public error: any, public stackTrace: any) {} -} - export class NgZoneImpl { static isInAngularZone(): boolean { return Zone.current.get('isAngularZone') === true; } @@ -27,7 +19,7 @@ export class NgZoneImpl { private onLeave: () => void; private setMicrotask: (hasMicrotasks: boolean) => void; private setMacrotask: (hasMacrotasks: boolean) => void; - private onError: (error: NgZoneError) => void; + private onError: (error: any) => void; constructor({trace, onEnter, onLeave, setMicrotask, setMacrotask, onError}: { trace: boolean, @@ -35,7 +27,7 @@ export class NgZoneImpl { onLeave: () => void, setMicrotask: (hasMicrotasks: boolean) => void, setMacrotask: (hasMacrotasks: boolean) => void, - onError: (error: NgZoneError) => void + onError: (error: any) => void }) { this.onEnter = onEnter; this.onLeave = onLeave; @@ -92,7 +84,7 @@ export class NgZoneImpl { onHandleError: (delegate: ZoneDelegate, current: Zone, target: Zone, error: any): boolean => { delegate.handleError(target, error); - this.onError(new NgZoneError(error, error.stack)); + this.onError(error); return false; } }); diff --git a/modules/@angular/core/test/zone/ng_zone_spec.ts b/modules/@angular/core/test/zone/ng_zone_spec.ts index 81e7acb6b6..5db6bdf91d 100644 --- a/modules/@angular/core/test/zone/ng_zone_spec.ts +++ b/modules/@angular/core/test/zone/ng_zone_spec.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {NgZone, NgZoneError} from '@angular/core/src/zone/ng_zone'; +import {NgZone} from '@angular/core/src/zone/ng_zone'; import {AsyncTestCompleter, Log, beforeEach, ddescribe, describe, expect, iit, inject, it, xdescribe, xit} from '@angular/core/testing/testing_internal'; import {browserDetection} from '@angular/platform-browser/testing/browser_util'; @@ -31,9 +31,9 @@ const resolvedPromise = Promise.resolve(null); function logOnError() { _zone.onError.subscribe({ - next: (ngErr: NgZoneError) => { - _errors.push(ngErr.error); - _traces.push(ngErr.stackTrace); + next: (error: any) => { + _errors.push(error); + _traces.push(error.stack); } }); } diff --git a/modules/@angular/core/testing/component_fixture.ts b/modules/@angular/core/testing/component_fixture.ts index 9741e46718..9ebadc3701 100644 --- a/modules/@angular/core/testing/component_fixture.ts +++ b/modules/@angular/core/testing/component_fixture.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {AnimationEntryMetadata, ChangeDetectorRef, ComponentFactory, ComponentRef, ComponentResolver, DebugElement, ElementRef, Injectable, Injector, NgZone, NgZoneError, OpaqueToken, ViewMetadata, getDebugNode} from '../index'; +import {ChangeDetectorRef, ComponentRef, DebugElement, ElementRef, NgZone, getDebugNode} from '../index'; import {BaseException} from '../src/facade/exceptions'; import {scheduleMicroTask} from '../src/facade/lang'; @@ -108,7 +108,7 @@ export class ComponentFixture { }); this._onErrorSubscription = - ngZone.onError.subscribe({next: (error: NgZoneError) => { throw error.error; }}); + ngZone.onError.subscribe({next: (error: any) => { throw error; }}); } } diff --git a/tools/public_api_guard/core/index.d.ts b/tools/public_api_guard/core/index.d.ts index 3fc14c6f98..0adb906e9f 100644 --- a/tools/public_api_guard/core/index.d.ts +++ b/tools/public_api_guard/core/index.d.ts @@ -850,13 +850,6 @@ export declare class NgZone { static isInAngularZone(): boolean; } -/** @deprecated */ -export declare class NgZoneError { - error: any; - stackTrace: any; - constructor(error: any, stackTrace: any); -} - /** @stable */ export declare class NoAnnotationError extends BaseException { constructor(typeOrFunc: Type | Function, params: any[][]);