@sudobility/di_rn 0.1.0 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics/analytics.rn.d.ts.map +1 -1
- package/dist/analytics/analytics.rn.js +35 -15
- package/dist/analytics/analytics.rn.js.map +1 -1
- package/dist/env/env.rn.d.ts.map +1 -1
- package/dist/env/env.rn.js +10 -3
- package/dist/env/env.rn.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/info/InfoBanner.d.ts +17 -0
- package/dist/info/InfoBanner.d.ts.map +1 -0
- package/dist/info/InfoBanner.js +69 -0
- package/dist/info/InfoBanner.js.map +1 -0
- package/dist/info/index.d.ts +3 -0
- package/dist/info/index.d.ts.map +1 -0
- package/dist/info/index.js +3 -0
- package/dist/info/index.js.map +1 -0
- package/dist/info/info.rn.d.ts +28 -0
- package/dist/info/info.rn.d.ts.map +1 -0
- package/dist/info/info.rn.js +97 -0
- package/dist/info/info.rn.js.map +1 -0
- package/dist/initialize/index.d.ts +2 -0
- package/dist/initialize/index.d.ts.map +1 -0
- package/dist/initialize/index.js +2 -0
- package/dist/initialize/index.js.map +1 -0
- package/dist/initialize/initialize.d.ts +39 -0
- package/dist/initialize/initialize.d.ts.map +1 -0
- package/dist/initialize/initialize.js +117 -0
- package/dist/initialize/initialize.js.map +1 -0
- package/dist/network/network.rn.d.ts +5 -2
- package/dist/network/network.rn.d.ts.map +1 -1
- package/dist/network/network.rn.js +38 -6
- package/dist/network/network.rn.js.map +1 -1
- package/dist/notification/notification.rn.d.ts +2 -1
- package/dist/notification/notification.rn.d.ts.map +1 -1
- package/dist/notification/notification.rn.js +65 -14
- package/dist/notification/notification.rn.js.map +1 -1
- package/dist/storage/storage.rn.d.ts +10 -0
- package/dist/storage/storage.rn.d.ts.map +1 -1
- package/dist/storage/storage.rn.js +40 -7
- package/dist/storage/storage.rn.js.map +1 -1
- package/dist/theme/theme.rn.d.ts +4 -1
- package/dist/theme/theme.rn.d.ts.map +1 -1
- package/dist/theme/theme.rn.js +27 -3
- package/dist/theme/theme.rn.js.map +1 -1
- package/package.json +51 -54
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.rn.d.ts","sourceRoot":"","sources":["../../src/analytics/analytics.rn.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"analytics.rn.d.ts","sourceRoot":"","sources":["../../src/analytics/analytics.rn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAuBlD,qBAAa,iBAAkB,YAAW,eAAe;IACvD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAA0B;IAKxC,UAAU,CAAC,WAAW,EAAE,cAAc,GAAG,kBAAkB,GAAG,IAAI;IAwBlE,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAe5D,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IAczC,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAa3C,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IAkB1E,SAAS,IAAI,OAAO;IAOpB,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC;CAG9B;AAKD,wBAAgB,kBAAkB,IAAI,iBAAiB,CAKtD;AAED,wBAAgB,yBAAyB,CACvC,MAAM,CAAC,EAAE,iBAAiB,GACzB,iBAAiB,CAGnB;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
let analyticsModule = null;
|
|
2
|
+
function getAnalytics() {
|
|
3
|
+
if (!analyticsModule) {
|
|
4
|
+
try {
|
|
5
|
+
const mod = require('@react-native-firebase/analytics');
|
|
6
|
+
analyticsModule = mod;
|
|
7
|
+
}
|
|
8
|
+
catch (e) {
|
|
9
|
+
console.warn('Firebase analytics not available:', e);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const analytics = analyticsModule?.default ?? analyticsModule;
|
|
13
|
+
return typeof analytics === 'function' ? analytics() : null;
|
|
14
|
+
}
|
|
2
15
|
export class RNAnalyticsClient {
|
|
3
16
|
constructor() {
|
|
4
17
|
this.enabled = true;
|
|
@@ -7,27 +20,29 @@ export class RNAnalyticsClient {
|
|
|
7
20
|
trackEvent(eventOrData) {
|
|
8
21
|
if (!this.enabled)
|
|
9
22
|
return;
|
|
23
|
+
const analytics = getAnalytics();
|
|
24
|
+
if (!analytics)
|
|
25
|
+
return;
|
|
10
26
|
if (typeof eventOrData === 'object' && 'event' in eventOrData) {
|
|
11
27
|
const { event, parameters } = eventOrData;
|
|
12
|
-
analytics
|
|
28
|
+
analytics
|
|
13
29
|
.logEvent(event, parameters)
|
|
14
30
|
.catch(() => {
|
|
15
31
|
});
|
|
16
32
|
}
|
|
17
33
|
else {
|
|
18
|
-
analytics()
|
|
19
|
-
.logEvent(eventOrData)
|
|
20
|
-
.catch(() => {
|
|
34
|
+
analytics.logEvent(eventOrData).catch(() => {
|
|
21
35
|
});
|
|
22
36
|
}
|
|
23
37
|
}
|
|
24
38
|
setUserProperties(properties) {
|
|
25
39
|
if (!this.enabled)
|
|
26
40
|
return;
|
|
41
|
+
const analytics = getAnalytics();
|
|
42
|
+
if (!analytics)
|
|
43
|
+
return;
|
|
27
44
|
for (const [key, value] of Object.entries(properties)) {
|
|
28
|
-
analytics()
|
|
29
|
-
.setUserProperty(key, String(value))
|
|
30
|
-
.catch(() => {
|
|
45
|
+
analytics.setUserProperty(key, String(value)).catch(() => {
|
|
31
46
|
});
|
|
32
47
|
}
|
|
33
48
|
}
|
|
@@ -35,22 +50,27 @@ export class RNAnalyticsClient {
|
|
|
35
50
|
this.userId = userId;
|
|
36
51
|
if (!this.enabled)
|
|
37
52
|
return;
|
|
38
|
-
analytics()
|
|
39
|
-
|
|
40
|
-
|
|
53
|
+
const analytics = getAnalytics();
|
|
54
|
+
if (!analytics)
|
|
55
|
+
return;
|
|
56
|
+
analytics.setUserId(userId ?? null).catch(() => {
|
|
41
57
|
});
|
|
42
58
|
}
|
|
43
59
|
setAnalyticsEnabled(enabled) {
|
|
44
60
|
this.enabled = enabled;
|
|
45
|
-
analytics()
|
|
46
|
-
|
|
47
|
-
|
|
61
|
+
const analytics = getAnalytics();
|
|
62
|
+
if (!analytics)
|
|
63
|
+
return;
|
|
64
|
+
analytics.setAnalyticsCollectionEnabled(enabled).catch(() => {
|
|
48
65
|
});
|
|
49
66
|
}
|
|
50
67
|
setCurrentScreen(screenName, screenClass) {
|
|
51
68
|
if (!this.enabled)
|
|
52
69
|
return;
|
|
53
|
-
analytics()
|
|
70
|
+
const analytics = getAnalytics();
|
|
71
|
+
if (!analytics)
|
|
72
|
+
return;
|
|
73
|
+
analytics
|
|
54
74
|
.logScreenView({
|
|
55
75
|
screen_name: screenName,
|
|
56
76
|
screen_class: screenClass ?? screenName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.rn.js","sourceRoot":"","sources":["../../src/analytics/analytics.rn.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"analytics.rn.js","sourceRoot":"","sources":["../../src/analytics/analytics.rn.ts"],"names":[],"mappings":"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"}
|
package/dist/env/env.rn.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.rn.d.ts","sourceRoot":"","sources":["../../src/env/env.rn.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env.rn.d.ts","sourceRoot":"","sources":["../../src/env/env.rn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,cAAc,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAsBlD,qBAAa,aAAc,YAAW,WAAW;IAC/C,GAAG,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACtC,GAAG,EAAE,CAAC,EACN,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC9B,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAO7C,MAAM,IAAI,oBAAoB;IAI9B,aAAa,IAAI,OAAO;IAKxB,YAAY,IAAI,OAAO;IAIvB,MAAM,IAAI,OAAO;CAGlB;AAKD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,aAAa,GAAG,SAAS,CAqBvE;AA8BD,eAAO,MAAM,aAAa,eAAsB,CAAC;AACjD,eAAO,MAAM,WAAW,WAAmC,CAAC;AAG5D,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC"}
|
package/dist/env/env.rn.js
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
let Config = {};
|
|
2
|
+
try {
|
|
3
|
+
const maybeConfig = require('react-native-config');
|
|
4
|
+
Config = (maybeConfig?.default ?? maybeConfig ?? {});
|
|
5
|
+
}
|
|
6
|
+
catch (error) {
|
|
7
|
+
throw new Error(`[di_rn] react-native-config not available; cannot initialize env provider: ${error}`);
|
|
8
|
+
}
|
|
2
9
|
export class RNEnvProvider {
|
|
3
10
|
get(key, defaultValue) {
|
|
4
11
|
const value = Config[key];
|
|
5
|
-
return value ?? defaultValue ?? null;
|
|
12
|
+
return (value ?? defaultValue ?? null);
|
|
6
13
|
}
|
|
7
14
|
getAll() {
|
|
8
15
|
return Config;
|
|
@@ -43,7 +50,7 @@ function createFirebaseConfig(envProvider) {
|
|
|
43
50
|
messagingSenderId: envProvider.get('VITE_FIREBASE_MESSAGING_SENDER_ID') ?? '',
|
|
44
51
|
appId: envProvider.get('VITE_FIREBASE_APP_ID') ?? '',
|
|
45
52
|
measurementId: envProvider.get('VITE_FIREBASE_MEASUREMENT_ID') ??
|
|
46
|
-
|
|
53
|
+
'',
|
|
47
54
|
};
|
|
48
55
|
}
|
|
49
56
|
export const rnEnvProvider = new RNEnvProvider();
|
package/dist/env/env.rn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.rn.js","sourceRoot":"","sources":["../../src/env/env.rn.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env.rn.js","sourceRoot":"","sources":["../../src/env/env.rn.ts"],"names":[],"mappings":"AASA,IAAI,MAAM,GAAuC,EAAE,CAAC;AACpD,IAAI,CAAC;IAGH,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACnD,MAAM,GAAG,CAAC,WAAW,EAAE,OAAO,IAAI,WAAW,IAAI,EAAE,CAGlD,CAAC;AACJ,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,MAAM,IAAI,KAAK,CACb,8EAA8E,KAAK,EAAE,CACtF,CAAC;AACJ,CAAC;AAMD,MAAM,OAAO,aAAa;IACxB,GAAG,CACD,GAAM,EACN,YAA+B;QAE/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAa,CAAC,CAAC;QACpC,OAAO,CAAC,KAAK,IAAI,YAAY,IAAI,IAAI,CAEpC,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,MAAyC,CAAC;IACnD,CAAC;IAED,aAAa;QAEX,OAAO,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,CAAC;IAC5D,CAAC;IAED,YAAY;QACV,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;IACzC,CAAC;CACF;AAKD,MAAM,UAAU,iBAAiB,CAAC,WAA0B;IAC1D,OAAO;QACL,kBAAkB,EACf,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAwB;YAC5D,6BAA6B;QAC/B,iBAAiB,EACd,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAwB;YAC3D,4BAA4B;QAC9B,sBAAsB,EACnB,WAAW,CAAC,GAAG,CAAC,+BAA+B,CAElC,IAAI,EAAE;QACtB,gBAAgB,EACb,WAAW,CAAC,GAAG,CAAC,yBAAyB,CAAwB,IAAI,EAAE;QAC1E,UAAU,EACP,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAwB,IAAI,EAAE;QACpE,QAAQ,EAAE,oBAAoB,CAAC,WAAW,CAAC;QAC3C,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,EAAE;QACvB,eAAe,EAAE,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,MAAM;KAC9D,CAAC;AACJ,CAAC;AAKD,SAAS,oBAAoB,CAAC,WAA0B;IACtD,OAAO;QACL,MAAM,EACH,WAAW,CAAC,GAAG,CAAC,uBAAuB,CAAwB,IAAI,EAAE;QACxE,UAAU,EACP,WAAW,CAAC,GAAG,CAAC,2BAA2B,CAAwB;YACpE,EAAE;QACJ,SAAS,EACN,WAAW,CAAC,GAAG,CAAC,0BAA0B,CAAwB,IAAI,EAAE;QAC3E,aAAa,EACV,WAAW,CAAC,GAAG,CAAC,8BAA8B,CAAwB;YACvE,EAAE;QACJ,iBAAiB,EACd,WAAW,CAAC,GAAG,CAAC,mCAAmC,CAEtC,IAAI,EAAE;QACtB,KAAK,EACF,WAAW,CAAC,GAAG,CAAC,sBAAsB,CAAwB,IAAI,EAAE;QACvE,aAAa,EACV,WAAW,CAAC,GAAG,CAAC,8BAA8B,CAAwB;YACvE,EAAE;KACL,CAAC;AACJ,CAAC;AAGD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,4 +10,6 @@ export { RNThemeService, getThemeService, initializeThemeService, resetThemeServ
|
|
|
10
10
|
export type { ThemeMode, FontSize } from './theme/theme.rn.js';
|
|
11
11
|
export { RNLogger, RNLoggerProvider, getLoggerProvider, getLogger, initializeLoggerProvider, resetLoggerProvider, rnLogger, rnLoggerProvider, } from './logging/logging.rn.js';
|
|
12
12
|
export { RNNavigationService, getNavigationService, initializeNavigationService, resetNavigationService, rnNavigationService, } from './navigation/navigation.rn.js';
|
|
13
|
+
export { RNInfoService, createRNInfoService, initializeInfoService, getInfoService, resetInfoService, mapInfoTypeToToastType, type BannerState, type BannerStateListener, InfoBanner, useInfoBanner, type InfoBannerProps, } from './info/index.js';
|
|
14
|
+
export { initializeRNApp, type RNAppInitOptions, type RevenueCatConfig, type RNFirebaseOptions, FirebaseAnalyticsService, initializeFirebaseAnalytics, getAnalyticsService, resetAnalyticsService, type AnalyticsEventParams, } from './initialize/index.js';
|
|
13
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,cAAc,GACf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,cAAc,GACf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,UAAU,EACV,aAAa,EACb,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -8,4 +8,6 @@ export { RNNotificationService, getNotificationService, initializeNotificationSe
|
|
|
8
8
|
export { RNThemeService, getThemeService, initializeThemeService, resetThemeService, rnThemeService, } from './theme/theme.rn.js';
|
|
9
9
|
export { RNLogger, RNLoggerProvider, getLoggerProvider, getLogger, initializeLoggerProvider, resetLoggerProvider, rnLogger, rnLoggerProvider, } from './logging/logging.rn.js';
|
|
10
10
|
export { RNNavigationService, getNavigationService, initializeNavigationService, resetNavigationService, rnNavigationService, } from './navigation/navigation.rn.js';
|
|
11
|
+
export { RNInfoService, createRNInfoService, initializeInfoService, getInfoService, resetInfoService, mapInfoTypeToToastType, InfoBanner, useInfoBanner, } from './info/index.js';
|
|
12
|
+
export { initializeRNApp, FirebaseAnalyticsService, initializeFirebaseAnalytics, getAnalyticsService, resetAnalyticsService, } from './initialize/index.js';
|
|
11
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAUzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAUzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EAGtB,UAAU,EACV,aAAa,GAEd,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EAIf,wBAAwB,EACxB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type BannerState } from './info.rn.js';
|
|
3
|
+
type ToastConfig = any;
|
|
4
|
+
export declare function useInfoBanner(): {
|
|
5
|
+
state: BannerState;
|
|
6
|
+
dismiss: () => void;
|
|
7
|
+
};
|
|
8
|
+
export interface InfoBannerProps {
|
|
9
|
+
toastConfig?: ToastConfig;
|
|
10
|
+
position?: 'top' | 'bottom';
|
|
11
|
+
topOffset?: number;
|
|
12
|
+
bottomOffset?: number;
|
|
13
|
+
visibilityTime?: number;
|
|
14
|
+
}
|
|
15
|
+
export declare function InfoBanner({ toastConfig, position, topOffset, bottomOffset, visibilityTime, }: InfoBannerProps): React.ReactElement | null;
|
|
16
|
+
export type { BannerState } from './info.rn.js';
|
|
17
|
+
//# sourceMappingURL=InfoBanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InfoBanner.d.ts","sourceRoot":"","sources":["../../src/info/InfoBanner.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAmD,MAAM,OAAO,CAAC;AACxE,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AAMtB,KAAK,WAAW,GAAG,GAAG,CAAC;AAuCvB,wBAAgB,aAAa,IAAI;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAaA;AAKD,MAAM,WAAW,eAAe;IAE9B,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAE5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAyBD,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,QAAgB,EAChB,SAAc,EACd,YAAY,EACZ,cAAc,GACf,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAgD7C;AAED,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect, useCallback, useRef } from 'react';
|
|
3
|
+
import { getInfoService, mapInfoTypeToToastType, } from './info.rn.js';
|
|
4
|
+
let Toast = null;
|
|
5
|
+
function getToast() {
|
|
6
|
+
if (!Toast) {
|
|
7
|
+
try {
|
|
8
|
+
const toastModule = require('react-native-toast-message');
|
|
9
|
+
Toast = toastModule.default ?? toastModule;
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
console.warn('[di_rn] react-native-toast-message not available. InfoBanner will not work.');
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return Toast;
|
|
16
|
+
}
|
|
17
|
+
export function useInfoBanner() {
|
|
18
|
+
const service = getInfoService();
|
|
19
|
+
const [state, setState] = useState(service.getState());
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
return service.subscribe(setState);
|
|
22
|
+
}, [service]);
|
|
23
|
+
const dismiss = useCallback(() => {
|
|
24
|
+
service.dismiss();
|
|
25
|
+
}, [service]);
|
|
26
|
+
return { state, dismiss };
|
|
27
|
+
}
|
|
28
|
+
export function InfoBanner({ toastConfig, position = 'top', topOffset = 50, bottomOffset, visibilityTime, }) {
|
|
29
|
+
const { state } = useInfoBanner();
|
|
30
|
+
const lastShownStateRef = useRef(null);
|
|
31
|
+
const ToastComponent = getToast();
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (!ToastComponent) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (state.isVisible &&
|
|
37
|
+
(!lastShownStateRef.current ||
|
|
38
|
+
lastShownStateRef.current.title !== state.title ||
|
|
39
|
+
lastShownStateRef.current.description !== state.description ||
|
|
40
|
+
lastShownStateRef.current.variant !== state.variant)) {
|
|
41
|
+
lastShownStateRef.current = state;
|
|
42
|
+
ToastComponent.show({
|
|
43
|
+
type: mapInfoTypeToToastType(state.variant),
|
|
44
|
+
text1: state.title,
|
|
45
|
+
text2: state.description,
|
|
46
|
+
position,
|
|
47
|
+
topOffset,
|
|
48
|
+
bottomOffset,
|
|
49
|
+
visibilityTime: visibilityTime ?? state.duration ?? 4000,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
else if (!state.isVisible && lastShownStateRef.current?.isVisible) {
|
|
53
|
+
lastShownStateRef.current = state;
|
|
54
|
+
ToastComponent.hide();
|
|
55
|
+
}
|
|
56
|
+
}, [
|
|
57
|
+
state,
|
|
58
|
+
ToastComponent,
|
|
59
|
+
position,
|
|
60
|
+
topOffset,
|
|
61
|
+
bottomOffset,
|
|
62
|
+
visibilityTime,
|
|
63
|
+
]);
|
|
64
|
+
if (!ToastComponent) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
return _jsx(ToastComponent, { config: toastConfig });
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=InfoBanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InfoBanner.js","sourceRoot":"","sources":["../../src/info/InfoBanner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { RNInfoService, createRNInfoService, initializeInfoService, getInfoService, resetInfoService, mapInfoTypeToToastType, type BannerState, type BannerStateListener, } from './info.rn.js';
|
|
2
|
+
export { InfoBanner, useInfoBanner, type InfoBannerProps, } from './InfoBanner.js';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/info/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,UAAU,EACV,aAAa,EACb,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/info/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,GAGvB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,UAAU,EACV,aAAa,GAEd,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type InfoInterface } from '@sudobility/di';
|
|
2
|
+
import { InfoType, type Optional } from '@sudobility/types';
|
|
3
|
+
export interface BannerState {
|
|
4
|
+
isVisible: boolean;
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
variant: InfoType;
|
|
8
|
+
duration?: number;
|
|
9
|
+
}
|
|
10
|
+
export type BannerStateListener = (state: BannerState) => void;
|
|
11
|
+
export declare function mapInfoTypeToToastType(type: InfoType): 'success' | 'error' | 'info';
|
|
12
|
+
export declare class RNInfoService implements InfoInterface {
|
|
13
|
+
private state;
|
|
14
|
+
private listeners;
|
|
15
|
+
private dismissTimeoutId;
|
|
16
|
+
subscribe(listener: BannerStateListener): () => void;
|
|
17
|
+
getState(): BannerState;
|
|
18
|
+
dismiss(): void;
|
|
19
|
+
show(title: string, text: string, type: InfoType, interval?: Optional<number>): void;
|
|
20
|
+
private setState;
|
|
21
|
+
private notifyListeners;
|
|
22
|
+
private clearDismissTimeout;
|
|
23
|
+
}
|
|
24
|
+
export declare function createRNInfoService(): RNInfoService;
|
|
25
|
+
export declare function initializeInfoService(service?: RNInfoService): void;
|
|
26
|
+
export declare function getInfoService(): RNInfoService;
|
|
27
|
+
export declare function resetInfoService(): void;
|
|
28
|
+
//# sourceMappingURL=info.rn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.rn.d.ts","sourceRoot":"","sources":["../../src/info/info.rn.ts"],"names":[],"mappings":"AAkCA,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK5D,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAKD,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAK/D,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,QAAQ,GACb,SAAS,GAAG,OAAO,GAAG,MAAM,CAY9B;AASD,qBAAa,aAAc,YAAW,aAAa;IACjD,OAAO,CAAC,KAAK,CAKX;IAEF,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,gBAAgB,CAA8C;IAMtE,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,IAAI;IAYpD,QAAQ,IAAI,WAAW;IAOvB,OAAO,IAAI,IAAI;IAWf,IAAI,CACF,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,IAAI;IAyBP,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,mBAAmB;CAM5B;AAKD,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD;AAUD,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAOnE;AAMD,wBAAgB,cAAc,IAAI,aAAa,CAO9C;AAKD,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { initializeInfoService as initializeDiInfoService, } from '@sudobility/di';
|
|
2
|
+
import { InfoType } from '@sudobility/types';
|
|
3
|
+
export function mapInfoTypeToToastType(type) {
|
|
4
|
+
switch (type) {
|
|
5
|
+
case InfoType.SUCCESS:
|
|
6
|
+
return 'success';
|
|
7
|
+
case InfoType.ERROR:
|
|
8
|
+
return 'error';
|
|
9
|
+
case InfoType.WARNING:
|
|
10
|
+
return 'error';
|
|
11
|
+
case InfoType.INFO:
|
|
12
|
+
default:
|
|
13
|
+
return 'info';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export class RNInfoService {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.state = {
|
|
19
|
+
isVisible: false,
|
|
20
|
+
title: '',
|
|
21
|
+
description: '',
|
|
22
|
+
variant: InfoType.INFO,
|
|
23
|
+
};
|
|
24
|
+
this.listeners = new Set();
|
|
25
|
+
this.dismissTimeoutId = null;
|
|
26
|
+
}
|
|
27
|
+
subscribe(listener) {
|
|
28
|
+
this.listeners.add(listener);
|
|
29
|
+
listener(this.state);
|
|
30
|
+
return () => {
|
|
31
|
+
this.listeners.delete(listener);
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
getState() {
|
|
35
|
+
return this.state;
|
|
36
|
+
}
|
|
37
|
+
dismiss() {
|
|
38
|
+
this.clearDismissTimeout();
|
|
39
|
+
this.setState({
|
|
40
|
+
...this.state,
|
|
41
|
+
isVisible: false,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
show(title, text, type, interval) {
|
|
45
|
+
this.clearDismissTimeout();
|
|
46
|
+
const newState = {
|
|
47
|
+
isVisible: true,
|
|
48
|
+
title,
|
|
49
|
+
description: text,
|
|
50
|
+
variant: type,
|
|
51
|
+
};
|
|
52
|
+
if (interval != null) {
|
|
53
|
+
newState.duration = interval;
|
|
54
|
+
}
|
|
55
|
+
this.setState(newState);
|
|
56
|
+
const dismissAfter = interval ?? 4000;
|
|
57
|
+
if (dismissAfter > 0) {
|
|
58
|
+
this.dismissTimeoutId = setTimeout(() => {
|
|
59
|
+
this.dismiss();
|
|
60
|
+
}, dismissAfter);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
setState(newState) {
|
|
64
|
+
this.state = newState;
|
|
65
|
+
this.notifyListeners();
|
|
66
|
+
}
|
|
67
|
+
notifyListeners() {
|
|
68
|
+
this.listeners.forEach((listener) => listener(this.state));
|
|
69
|
+
}
|
|
70
|
+
clearDismissTimeout() {
|
|
71
|
+
if (this.dismissTimeoutId) {
|
|
72
|
+
clearTimeout(this.dismissTimeoutId);
|
|
73
|
+
this.dismissTimeoutId = null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export function createRNInfoService() {
|
|
78
|
+
return new RNInfoService();
|
|
79
|
+
}
|
|
80
|
+
let infoServiceInstance = null;
|
|
81
|
+
export function initializeInfoService(service) {
|
|
82
|
+
if (infoServiceInstance) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
infoServiceInstance = service ?? new RNInfoService();
|
|
86
|
+
initializeDiInfoService(infoServiceInstance);
|
|
87
|
+
}
|
|
88
|
+
export function getInfoService() {
|
|
89
|
+
if (!infoServiceInstance) {
|
|
90
|
+
throw new Error('Info service not initialized. Call initializeInfoService() at app startup.');
|
|
91
|
+
}
|
|
92
|
+
return infoServiceInstance;
|
|
93
|
+
}
|
|
94
|
+
export function resetInfoService() {
|
|
95
|
+
infoServiceInstance = null;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=info.rn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.rn.js","sourceRoot":"","sources":["../../src/info/info.rn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { initializeRNApp, type RNAppInitOptions, type RevenueCatConfig, type RNFirebaseOptions, FirebaseAnalyticsService, initializeFirebaseAnalytics, getAnalyticsService, resetAnalyticsService, type AnalyticsEventParams, getAnalyticsClient, } from './initialize.js';
|
|
2
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/initialize/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAGtB,wBAAwB,EACxB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,oBAAoB,EAGzB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/initialize/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,eAAe,EAMf,wBAAwB,EACxB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EAIrB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { getAnalyticsClient } from '../analytics/analytics.rn.js';
|
|
2
|
+
export interface AnalyticsEventParams {
|
|
3
|
+
[key: string]: unknown;
|
|
4
|
+
}
|
|
5
|
+
export declare class FirebaseAnalyticsService {
|
|
6
|
+
trackEvent(eventName: string, params?: AnalyticsEventParams): void;
|
|
7
|
+
trackScreenView(screenName: string, screenClass?: string): void;
|
|
8
|
+
trackButtonClick(buttonName: string, params?: AnalyticsEventParams): void;
|
|
9
|
+
trackLinkClick(linkUrl: string, linkText?: string, params?: AnalyticsEventParams): void;
|
|
10
|
+
trackError(errorMessage: string, errorCode?: string): void;
|
|
11
|
+
isEnabled(): boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function initializeFirebaseAnalytics(): FirebaseAnalyticsService;
|
|
14
|
+
export declare function getAnalyticsService(): FirebaseAnalyticsService;
|
|
15
|
+
export declare function resetAnalyticsService(): void;
|
|
16
|
+
export interface RevenueCatConfig {
|
|
17
|
+
apiKey: string;
|
|
18
|
+
apiKeySandbox?: string;
|
|
19
|
+
isProduction?: boolean;
|
|
20
|
+
freeTierPackage?: {
|
|
21
|
+
packageId: string;
|
|
22
|
+
name: string;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export interface RNFirebaseOptions {
|
|
26
|
+
enableAnalytics?: boolean;
|
|
27
|
+
enableRemoteConfig?: boolean;
|
|
28
|
+
enableMessaging?: boolean;
|
|
29
|
+
enableDevelopmentMode?: boolean;
|
|
30
|
+
}
|
|
31
|
+
export interface RNAppInitOptions {
|
|
32
|
+
enableFirebaseAuth?: boolean;
|
|
33
|
+
revenueCatConfig?: RevenueCatConfig;
|
|
34
|
+
initializeI18n?: () => void | Promise<void>;
|
|
35
|
+
firebaseOptions?: RNFirebaseOptions;
|
|
36
|
+
}
|
|
37
|
+
export declare function initializeRNApp(options?: RNAppInitOptions): Promise<FirebaseAnalyticsService>;
|
|
38
|
+
export { getAnalyticsClient };
|
|
39
|
+
//# sourceMappingURL=initialize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../../src/initialize/initialize.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AAMtC,MAAM,WAAW,oBAAoB;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAMD,qBAAa,wBAAwB;IAInC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAiBlE,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAU/D,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAUzE,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,oBAAoB,GAC5B,IAAI;IAWP,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAU1D,SAAS,IAAI,OAAO;CAQrB;AAQD,wBAAgB,2BAA2B,IAAI,wBAAwB,CAKtE;AAMD,wBAAgB,mBAAmB,IAAI,wBAAwB,CAO9D;AAKD,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AASD,MAAM,WAAW,gBAAgB;IAE/B,MAAM,EAAE,MAAM,CAAC;IAGf,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,eAAe,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD;AAKD,MAAM,WAAW,iBAAiB;IAEhC,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAKD,MAAM,WAAW,gBAAgB;IAE/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAG7B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAGpC,cAAc,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG5C,eAAe,CAAC,EAAE,iBAAiB,CAAC;CACrC;AAkBD,wBAAsB,eAAe,CACnC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CA8EnC;AAKD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { initializeFirebaseService, getFirebaseService, initializeNetworkService as initializeDiNetworkService, } from '@sudobility/di/rn';
|
|
2
|
+
import { initializeStorageService } from '../index.js';
|
|
3
|
+
import { initializeInfoService } from '../info/index.js';
|
|
4
|
+
import { initializeAnalyticsClient, getAnalyticsClient, } from '../analytics/analytics.rn.js';
|
|
5
|
+
export class FirebaseAnalyticsService {
|
|
6
|
+
trackEvent(eventName, params) {
|
|
7
|
+
try {
|
|
8
|
+
const service = getFirebaseService();
|
|
9
|
+
if (service.analytics.isSupported()) {
|
|
10
|
+
service.analytics.logEvent(eventName, {
|
|
11
|
+
...params,
|
|
12
|
+
timestamp: Date.now(),
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
trackScreenView(screenName, screenClass) {
|
|
20
|
+
this.trackEvent('screen_view', {
|
|
21
|
+
screen_name: screenName,
|
|
22
|
+
screen_class: screenClass ?? screenName,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
trackButtonClick(buttonName, params) {
|
|
26
|
+
this.trackEvent('button_click', {
|
|
27
|
+
button_name: buttonName,
|
|
28
|
+
...params,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
trackLinkClick(linkUrl, linkText, params) {
|
|
32
|
+
this.trackEvent('link_click', {
|
|
33
|
+
link_url: linkUrl,
|
|
34
|
+
link_text: linkText,
|
|
35
|
+
...params,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
trackError(errorMessage, errorCode) {
|
|
39
|
+
this.trackEvent('error_occurred', {
|
|
40
|
+
error_message: errorMessage,
|
|
41
|
+
error_code: errorCode,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
isEnabled() {
|
|
45
|
+
try {
|
|
46
|
+
const service = getFirebaseService();
|
|
47
|
+
return service.analytics.isSupported();
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
let analyticsService = null;
|
|
55
|
+
export function initializeFirebaseAnalytics() {
|
|
56
|
+
if (!analyticsService) {
|
|
57
|
+
analyticsService = new FirebaseAnalyticsService();
|
|
58
|
+
}
|
|
59
|
+
return analyticsService;
|
|
60
|
+
}
|
|
61
|
+
export function getAnalyticsService() {
|
|
62
|
+
if (!analyticsService) {
|
|
63
|
+
throw new Error('Analytics service not initialized. Call initializeFirebaseAnalytics() first.');
|
|
64
|
+
}
|
|
65
|
+
return analyticsService;
|
|
66
|
+
}
|
|
67
|
+
export function resetAnalyticsService() {
|
|
68
|
+
analyticsService = null;
|
|
69
|
+
}
|
|
70
|
+
export async function initializeRNApp(options = {}) {
|
|
71
|
+
const { enableFirebaseAuth = false, revenueCatConfig, initializeI18n, firebaseOptions, } = options;
|
|
72
|
+
initializeStorageService();
|
|
73
|
+
initializeFirebaseService(firebaseOptions);
|
|
74
|
+
const analytics = initializeFirebaseAnalytics();
|
|
75
|
+
initializeAnalyticsClient();
|
|
76
|
+
if (enableFirebaseAuth) {
|
|
77
|
+
try {
|
|
78
|
+
const authLib = await import('@sudobility/auth_lib');
|
|
79
|
+
authLib.initializeFirebaseAuth();
|
|
80
|
+
initializeDiNetworkService(new authLib.FirebaseAuthNetworkService());
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
console.error('[di_rn] Failed to initialize Firebase Auth. Make sure @sudobility/auth_lib is installed.', error);
|
|
84
|
+
initializeDiNetworkService();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
initializeDiNetworkService();
|
|
89
|
+
}
|
|
90
|
+
initializeInfoService();
|
|
91
|
+
if (revenueCatConfig) {
|
|
92
|
+
try {
|
|
93
|
+
const subscriptionLib = await import('@sudobility/subscription_lib');
|
|
94
|
+
const isProduction = revenueCatConfig.isProduction ?? true;
|
|
95
|
+
const apiKey = isProduction
|
|
96
|
+
? revenueCatConfig.apiKey
|
|
97
|
+
: (revenueCatConfig.apiKeySandbox ?? revenueCatConfig.apiKey);
|
|
98
|
+
subscriptionLib.configureRevenueCatAdapter(apiKey);
|
|
99
|
+
subscriptionLib.initializeSubscription({
|
|
100
|
+
adapter: subscriptionLib.createRevenueCatAdapter(),
|
|
101
|
+
freeTier: revenueCatConfig.freeTierPackage ?? {
|
|
102
|
+
packageId: 'free',
|
|
103
|
+
name: 'Free',
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
console.error('[di_rn] Failed to initialize RevenueCat. Make sure @sudobility/subscription_lib is installed.', error);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (initializeI18n) {
|
|
112
|
+
await initializeI18n();
|
|
113
|
+
}
|
|
114
|
+
return analytics;
|
|
115
|
+
}
|
|
116
|
+
export { getAnalyticsClient };
|
|
117
|
+
//# sourceMappingURL=initialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../src/initialize/initialize.ts"],"names":[],"mappings":"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"}
|