Skip to content

Commit f46477c

Browse files
committed
Add typing for event data known keys
1 parent 25be1f6 commit f46477c

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

packages/core/src/models/Event.ts

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
import { ErrorInfo } from "./data/ErrorInfo.js";
2+
import { EnvironmentInfo } from "./data/EnvironmentInfo.js";
3+
import { RequestInfo } from "./data/RequestInfo.js";
4+
import { UserInfo } from "./data/UserInfo.js";
5+
import { UserDescription } from "./data/UserDescription.js";
6+
import { ManualStackingInfo } from "./data/ManualStackingInfo.js";
7+
18
export interface Event {
29
/** The event type (ie. error, log message, feature usage). */
310
type?: string;
@@ -18,7 +25,7 @@ export interface Event {
1825
/** An optional identifier to be used for referencing this event instance at a later time. */
1926
reference_id?: string;
2027
/** Optional data entries that contain additional information about this event. */
21-
data?: Record<string, any>; // TODO: Add typing for known keys.
28+
data?: IData;
2229
}
2330

2431
export const enum KnownEventDataKeys {
@@ -32,5 +39,18 @@ export const enum KnownEventDataKeys {
3239
Version = "@version",
3340
Level = "@level",
3441
SubmissionMethod = "@submission_method",
35-
ManualStackingInfo = "@stack"
42+
ManualStackingInfo = "@stack",
43+
}
44+
45+
interface IData extends Record<string, any> {
46+
"@error": ErrorInfo;
47+
"@simple_error": any; // TODO: Need a model for simple error
48+
"@request": RequestInfo;
49+
"@environment": EnvironmentInfo;
50+
"@user": UserInfo;
51+
"@user_description": UserDescription;
52+
"@version": string;
53+
"@level": string;
54+
"@submission_method": string;
55+
"@stack": ManualStackingInfo;
3656
}

0 commit comments

Comments
 (0)