diff --git a/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/native.ts b/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/native.ts index 7f474baea23..c9e05625fed 100644 --- a/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/native.ts +++ b/devtools/projects/ng-devtools-backend/src/lib/hooks/profiler/native.ts @@ -43,7 +43,7 @@ export class NgProfiler extends Profiler { private _initialize(): void { ngDebugClient().ɵsetProfiler( - (event: ɵProfilerEvent, instanceOrLView: {} | null, hookOrListener: any) => + (event: ɵProfilerEvent, instanceOrLView: {} | null = null, hookOrListener: any) => this._callbacks.forEach((cb) => cb(event, instanceOrLView, hookOrListener)), ); } diff --git a/packages/core/src/render3/profiler.ts b/packages/core/src/render3/profiler.ts index 4684e1e42be..d52d232e00a 100644 --- a/packages/core/src/render3/profiler.ts +++ b/packages/core/src/render3/profiler.ts @@ -33,7 +33,7 @@ export const setProfiler = (profiler: Profiler | null) => { * execution context * @returns */ -export const profiler: Profiler = function (event, instance, hookOrListener) { +export const profiler: Profiler = function (event, instance = null, hookOrListener) { if (profilerCallback != null /* both `null` and `undefined` */) { profilerCallback(event, instance, hookOrListener); } diff --git a/packages/core/src/render3/profiler_types.ts b/packages/core/src/render3/profiler_types.ts index 5e7d155b55a..f8a42a2d844 100644 --- a/packages/core/src/render3/profiler_types.ts +++ b/packages/core/src/render3/profiler_types.ts @@ -160,5 +160,5 @@ export const enum ProfilerEvent { * Profiler function which the runtime will invoke before and after user code. */ export interface Profiler { - (event: ProfilerEvent, instance: {} | null, hookOrListener?: (e?: any) => any): void; + (event: ProfilerEvent, instance?: {} | null, hookOrListener?: (e?: any) => any): void; }