File tree Expand file tree Collapse file tree 4 files changed +92
-2
lines changed
packages/telemetry/src/angular Expand file tree Collapse file tree 4 files changed +92
-2
lines changed Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ import { ErrorHandler } from '@angular/core';
88import { FirebaseApp } from ' @firebase/app' ;
99import { LoggerProvider } from ' @opentelemetry/sdk-logs' ;
1010
11- // @public (undocumented)
11+ // @public
1212export class FirebaseErrorHandler implements ErrorHandler {
1313 constructor (telemetryOptions ? : TelemetryOptions | undefined );
1414 // (undocumented)
Original file line number Diff line number Diff line change @@ -10,6 +10,10 @@ https://github.com/firebase/firebase-js-sdk
1010{% endcomment %}
1111
1212# FirebaseErrorHandler class
13+ A custom ErrorHandler that captures uncaught errors and sends them to Firebase Telemetry.
14+
15+ This should be provided in your application's root module.
16+
1317<b >Signature:</b >
1418
1519``` typescript
@@ -63,3 +67,44 @@ handleError(error: unknown): void;
6367
6468void
6569
70+ ### Example 1
71+
72+ Basic usage:
73+
74+ ` ` ` typescript
75+ import { ErrorHandler } from ' @angular/core' ;
76+ import { FirebaseErrorHandler } from ' @firebase/telemetry-angular' ;
77+
78+ @NgModule ({
79+ // ...
80+ providers: [
81+ { provide: ErrorHandler , useClass: FirebaseErrorHandler }
82+ ],
83+ // ...
84+ })
85+ export class AppModule { }
86+
87+ ```
88+
89+ ### Example 2
90+
91+ Providing telemetry options:
92+
93+ ``` typescript
94+ import { ErrorHandler } from ' @angular/core' ;
95+ import { FirebaseErrorHandler } from ' @firebase/telemetry-angular' ;
96+
97+ @NgModule ({
98+ // ...
99+ providers: [
100+ {
101+ provide: ErrorHandler ,
102+ useFactory : () => new FirebaseErrorHandler ({ appVersion: ' 1.2.3' })
103+ }
104+ ],
105+ // ...
106+ })
107+ export class AppModule { }
108+
109+ ```
110+
Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ https://github.com/firebase/firebase-js-sdk
1515
1616| Class | Description |
1717| --- | --- |
18- | [ FirebaseErrorHandler] ( ./telemetry_angular.firebaseerrorhandler.md#firebaseerrorhandler_class ) | |
18+ | [ FirebaseErrorHandler] ( ./telemetry_angular.firebaseerrorhandler.md#firebaseerrorhandler_class ) | A custom ErrorHandler that captures uncaught errors and sends them to Firebase Telemetry. <!-- --> This should be provided in your application's root module. |
1919
2020## Interfaces
2121
Original file line number Diff line number Diff line change @@ -28,6 +28,51 @@ registerTelemetry();
2828
2929export * from '../public-types' ;
3030
31+ /**
32+ * A custom ErrorHandler that captures uncaught errors and sends them to Firebase Telemetry.
33+ *
34+ * This should be provided in your application's root module.
35+ *
36+ * @example
37+ * Basic usage:
38+ * ```typescript
39+ * import { ErrorHandler } from '@angular/core';
40+ * import { FirebaseErrorHandler } from '@firebase/telemetry-angular';
41+ *
42+ * @NgModule ({
43+ * // ...
44+ * providers: [
45+ * { provide: ErrorHandler, useClass: FirebaseErrorHandler }
46+ * ],
47+ * // ...
48+ * })
49+ * export class AppModule { }
50+ * ```
51+ *
52+ * @example
53+ * Providing telemetry options:
54+ * ```typescript
55+ * import { ErrorHandler } from '@angular/core';
56+ * import { FirebaseErrorHandler } from '@firebase/telemetry-angular';
57+ *
58+ * @NgModule ({
59+ * // ...
60+ * providers: [
61+ * {
62+ * provide: ErrorHandler,
63+ * useFactory: () => new FirebaseErrorHandler({ appVersion: '1.2.3' })
64+ * }
65+ * ],
66+ * // ...
67+ * })
68+ * export class AppModule { }
69+ * ```
70+ *
71+ * @param telemetryOptions - Optional. {@link TelemetryOptions} that configure the Telemetry instance.
72+ * To provide these options, you must use a `useFactory` provider as shown in the example above.
73+ *
74+ * @public
75+ */
3176export class FirebaseErrorHandler implements ErrorHandler {
3277 private readonly router = inject ( Router ) ;
3378
You can’t perform that action at this time.
0 commit comments