File tree Expand file tree Collapse file tree
packages/plugins/plugin-firebase Expand file tree Collapse file tree Original file line number Diff line number Diff line change 4444 },
4545 "homepage" : " https://github.com/segmentio/analytics-react-native/tree/master/packages/plugins/plugin-firebase#readme" ,
4646 "peerDependencies" : {
47- "@react-native-firebase/analytics" : " >=18.4 .0" ,
48- "@react-native-firebase/app" : " >=18.4 .0" ,
47+ "@react-native-firebase/analytics" : " >=22.2 .0" ,
48+ "@react-native-firebase/app" : " >=22.2 .0" ,
4949 "@segment/analytics-react-native" : " ^2.18.0"
5050 },
5151 "devDependencies" : {
52- "@react-native-firebase/analytics" : " ^18.4 .0" ,
53- "@react-native-firebase/app" : " ^18.4 .0" ,
52+ "@react-native-firebase/analytics" : " ^22.2 .0" ,
53+ "@react-native-firebase/app" : " ^22.2 .0" ,
5454 "@segment/analytics-react-native" : " ^2.18.0" ,
5555 "@segment/analytics-rn-shared" : " workspace:^" ,
5656 "@segment/sovran-react-native" : " ^1.1.0" ,
Original file line number Diff line number Diff line change @@ -10,14 +10,14 @@ import {
1010import screen from './methods/screen' ;
1111import track from './methods/track' ;
1212import reset from './methods/reset' ;
13- import firebaseAnalytics from '@react-native-firebase/analytics ' ;
13+ import { firebaseAnalytics } from './firebaseAnalytics ' ;
1414export class FirebasePlugin extends DestinationPlugin {
1515 type = PluginType . destination ;
1616 key = 'Firebase' ;
1717
1818 async identify ( event : IdentifyEventType ) {
1919 if ( event . userId !== undefined ) {
20- await firebaseAnalytics ( ) . setUserId ( event . userId ) ;
20+ await firebaseAnalytics . setUserId ( event . userId ) ;
2121 }
2222 if ( event . traits ) {
2323 const eventTraits = event . traits ;
@@ -45,7 +45,7 @@ export class FirebasePlugin extends DestinationPlugin {
4545 { }
4646 ) ;
4747
48- await firebaseAnalytics ( ) . setUserProperties ( safeTraits ) ;
48+ await firebaseAnalytics . setUserProperties ( safeTraits ) ;
4949 }
5050 return event ;
5151 }
Original file line number Diff line number Diff line change 1+ import { getAnalytics } from '@react-native-firebase/analytics' ;
2+ import { getApp } from '@react-native-firebase/app' ;
3+
4+ export const firebaseAnalytics = getAnalytics ( getApp ( ) ) ;
Original file line number Diff line number Diff line change 1- import type { IdentifyEventType } from '@segment/analytics-react-native' ;
2- import { FirebasePlugin } from '../../FirebasePlugin' ;
3-
41const mockSetUserId = jest . fn ( ) ;
52const mockSetUserProperties = jest . fn ( ) ;
63
7- jest . mock ( '@react-native-firebase/analytics' , ( ) => ( ) => ( {
8- setUserId : mockSetUserId ,
9- setUserProperties : mockSetUserProperties ,
4+ jest . mock ( '@react-native-firebase/analytics' , ( ) => ( {
5+ getAnalytics : jest . fn ( ) . mockImplementation ( ( ) => ( {
6+ setUserId : mockSetUserId ,
7+ setUserProperties : mockSetUserProperties ,
8+ } ) ) ,
9+ isString : ( a : unknown ) => typeof a === 'string' ,
10+ } ) ) ;
11+ jest . mock ( '@react-native-firebase/app' , ( ) => ( {
12+ getApp : jest . fn ( ) ,
1013} ) ) ;
1114
15+ import type { IdentifyEventType } from '@segment/analytics-react-native' ;
16+ import { FirebasePlugin } from '../../FirebasePlugin' ;
17+
1218describe ( '#identify' , ( ) => {
1319 beforeEach ( ( ) => {
1420 jest . clearAllMocks ( ) ;
Original file line number Diff line number Diff line change 1- import reset from '../reset' ;
2-
31const mockReset = jest . fn ( ) ;
42
5- jest . mock ( '@react-native-firebase/analytics' , ( ) => ( ) => ( {
6- resetAnalyticsData : mockReset ,
3+ jest . mock ( '@react-native-firebase/analytics' , ( ) => ( {
4+ getAnalytics : jest . fn ( ) . mockImplementation ( ( ) => ( {
5+ resetAnalyticsData : mockReset ,
6+ } ) ) ,
7+ } ) ) ;
8+
9+ jest . mock ( '@react-native-firebase/app' , ( ) => ( {
10+ getApp : jest . fn ( ) ,
711} ) ) ;
812
13+ import reset from '../reset' ;
14+
915describe ( '#reset' , ( ) => {
1016 beforeEach ( ( ) => {
1117 jest . clearAllMocks ( ) ;
Original file line number Diff line number Diff line change 1- import type { ScreenEventType } from '@segment/analytics-react-native' ;
2- import screen from '../screen' ;
3-
41const mockScreen = jest . fn ( ) ;
52
6- jest . mock ( '@react-native-firebase/analytics' , ( ) => ( ) => ( {
7- logScreenView : mockScreen ,
3+ jest . mock ( '@react-native-firebase/analytics' , ( ) => ( {
4+ getAnalytics : jest . fn ( ) . mockImplementation ( ( ) => ( {
5+ logScreenView : mockScreen ,
6+ } ) ) ,
7+ } ) ) ;
8+
9+ jest . mock ( '@react-native-firebase/app' , ( ) => ( {
10+ getApp : jest . fn ( ) ,
811} ) ) ;
912
13+ import type { ScreenEventType } from '@segment/analytics-react-native' ;
14+ import screen from '../screen' ;
15+
1016describe ( '#screen' , ( ) => {
1117 beforeEach ( ( ) => {
1218 jest . clearAllMocks ( ) ;
Original file line number Diff line number Diff line change 1- import { EventType , TrackEventType } from '@segment/analytics-react-native' ;
2- import track from '../track' ;
3-
4- jest . mock ( 'uuid' ) ;
5-
61const mockLogEvent = jest . fn ( ) ;
72
8- jest . mock ( '@react-native-firebase/analytics' , ( ) => ( ) => ( {
9- logEvent : mockLogEvent ,
3+ jest . mock ( '@react-native-firebase/analytics' , ( ) => ( {
4+ getAnalytics : jest . fn ( ) . mockImplementation ( ( ) => ( {
5+ logEvent : mockLogEvent ,
6+ } ) ) ,
7+ isString : ( a : unknown ) => typeof a === 'string' ,
108} ) ) ;
9+ jest . mock ( '@react-native-firebase/app' , ( ) => ( {
10+ getApp : jest . fn ( ) ,
11+ } ) ) ;
12+ jest . mock ( 'uuid' ) ;
13+
14+ import { EventType , TrackEventType } from '@segment/analytics-react-native' ;
15+ import track from '../track' ;
1116
1217describe ( '#track' , ( ) => {
1318 beforeEach ( ( ) => {
Original file line number Diff line number Diff line change 1- import firebaseAnalytics from '@react-native-firebase/analytics ' ;
1+ import { firebaseAnalytics } from '../firebaseAnalytics ' ;
22
33export default async ( ) => {
4- await firebaseAnalytics ( ) . resetAnalyticsData ( ) ;
4+ await firebaseAnalytics . resetAnalyticsData ( ) ;
55} ;
Original file line number Diff line number Diff line change 1- import firebaseAnalytics from '@react-native-firebase/analytics' ;
21import type { ScreenEventType } from '@segment/analytics-react-native' ;
2+ import { firebaseAnalytics } from '../firebaseAnalytics' ;
33
44export default async ( event : ScreenEventType ) => {
55 const screenProps = {
@@ -8,5 +8,5 @@ export default async (event: ScreenEventType) => {
88 ...event . properties ,
99 } ;
1010
11- await firebaseAnalytics ( ) . logScreenView ( screenProps ) ;
11+ await firebaseAnalytics . logScreenView ( screenProps ) ;
1212} ;
Original file line number Diff line number Diff line change 1- import firebaseAnalytics from '@react-native-firebase/analytics' ;
21import {
2+ type TrackEventType ,
33 generateMapTransform ,
4- TrackEventType ,
54} from '@segment/analytics-react-native' ;
5+ import { firebaseAnalytics } from '../firebaseAnalytics' ;
66import { mapEventProps , transformMap } from './parameterMapping' ;
77
88const mappedPropNames = generateMapTransform ( mapEventProps , transformMap ) ;
@@ -22,5 +22,5 @@ export default async (event: TrackEventType) => {
2222 if ( safeEventName . length > 40 ) {
2323 safeEventName = safeEventName . substring ( 0 , 40 ) ;
2424 }
25- await firebaseAnalytics ( ) . logEvent ( safeEventName , safeProps ) ;
25+ await firebaseAnalytics . logEvent ( safeEventName , safeProps ) ;
2626} ;
You can’t perform that action at this time.
0 commit comments