File tree Expand file tree Collapse file tree 3 files changed +58
-22
lines changed Expand file tree Collapse file tree 3 files changed +58
-22
lines changed Original file line number Diff line number Diff line change 11declare var umami : umami . umami ;
22
3+ type WithRequired < T , K extends keyof T > = T & { [ P in K ] -?: T [ P ] } ;
4+
5+ /**
6+ * @see {@link https://umami.is/docs/tracker-functions|Umami Docs }
7+ */
38declare namespace umami {
4- interface TrackPayload {
9+ interface PageViewProperties {
510 website : string ;
6- hostname ?: string ;
7- language ?: string ;
8- referrer ?: string ;
9- screen ?: string ;
10- title ?: string ;
11- url ?: string ;
11+ hostname : string ;
12+ language : string ;
13+ referrer : string ;
14+ screen : string ;
15+ title : string ;
16+ url : string ;
17+ }
18+
19+ interface EventData {
20+ [ key : string ] :
21+ | number
22+ | string
23+ | EventData
24+ | number [ ]
25+ | string [ ]
26+ | EventData [ ] ;
27+ }
28+
29+ interface CustomPayload extends WithRequired < Partial < PageViewProperties > , "website" > {
30+ name ?: string ;
31+ data ?: EventData ;
1232 }
1333
1434 interface umami {
15- track ( payloadOrCallback ?: TrackPayload | ( ( properties : TrackPayload ) => TrackPayload ) ) : void ;
16- track ( eventName ?: string , eventData ?: Record < string , unknown > ) : void ;
35+ track : {
36+ ( ) : Promise < string > ;
37+ ( eventName : string ) : Promise < string > ;
38+ ( eventName : string , eventData : EventData ) : Promise < string > ;
39+ ( props : CustomPayload ) : Promise < string > ;
40+ (
41+ callback : ( props : PageViewProperties ) => CustomPayload ,
42+ ) : Promise < string > ;
43+ } ;
44+
45+ identify ( data : EventData ) : Promise < string > ;
1746 }
1847}
Original file line number Diff line number Diff line change 11{
22 "private" : true ,
33 "name" : " @types/umami-browser" ,
4- "version" : " 2.3 .9999" ,
4+ "version" : " 2.13 .9999" ,
55 "nonNpm" : true ,
66 "nonNpmDescription" : " umami-browser" ,
77 "projects" : [
Original file line number Diff line number Diff line change 11umami . track ( ) ;
22
3- umami . track ( { website : "" } ) ;
4- umami . track ( { website : "" , hostname : "" } ) ;
5- umami . track ( { website : "" , language : "" } ) ;
6- umami . track ( { website : "" , referrer : "" } ) ;
7- umami . track ( { website : "" , screen : "" } ) ;
8- umami . track ( { website : "" , title : "" } ) ;
9- umami . track ( { website : "" , url : "" } ) ;
10-
11- umami . track ( properties => {
12- return { ...properties , url : "" , title : "" } ;
3+ umami . track ( {
4+ website : "e676c9b4-11e4-4ef1-a4d7-87001773e9f2" ,
5+ url : "/home" ,
6+ title : "Home page" ,
137} ) ;
148
15- umami . track ( "custom_event" ) ;
9+ umami . track ( ( props ) => ( { ...props , url : "/home" , title : "Home page" } ) ) ;
10+
11+ umami . track ( "signup-button" ) ;
12+
13+ umami . track ( "signup-button" , { name : "newsletter" , id : 123 } ) ;
14+
15+ umami . track ( ( props ) => ( {
16+ ...props ,
17+ name : "signup-button" ,
18+ data : {
19+ name : "newsletter" ,
20+ id : 123 ,
21+ } ,
22+ } ) ) ;
1623
17- umami . track ( "custom_event" , { name : "newsletter" , id : 123 } ) ;
24+ umami . identify ( { email :
"[email protected] " } ) ;
You can’t perform that action at this time.
0 commit comments