Skip to content

Commit 3611531

Browse files
authored
Add jsdoc to angular FirebaseErrorHandler telemetry API (#9404)
* Add jsdoc to angular FirebaseErrorHandler telemetry API * Add another example to block * Add generated doc files
1 parent a92f2bc commit 3611531

File tree

4 files changed

+92
-2
lines changed

4 files changed

+92
-2
lines changed

common/api-review/telemetry-angular.api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { ErrorHandler } from '@angular/core';
88
import { FirebaseApp } from '@firebase/app';
99
import { LoggerProvider } from '@opentelemetry/sdk-logs';
1010

11-
// @public (undocumented)
11+
// @public
1212
export class FirebaseErrorHandler implements ErrorHandler {
1313
constructor(telemetryOptions?: TelemetryOptions | undefined);
1414
// (undocumented)

docs-devsite/telemetry_angular.firebaseerrorhandler.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff 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
6468
void
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+

docs-devsite/telemetry_angular.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff 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

packages/telemetry/src/angular/index.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,51 @@ registerTelemetry();
2828

2929
export * 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+
*/
3176
export class FirebaseErrorHandler implements ErrorHandler {
3277
private readonly router = inject(Router);
3378

0 commit comments

Comments
 (0)