@sudobility/di_rn 0.1.0
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/README.md +184 -0
- package/dist/analytics/analytics.rn.d.ts +18 -0
- package/dist/analytics/analytics.rn.d.ts.map +1 -0
- package/dist/analytics/analytics.rn.js +83 -0
- package/dist/analytics/analytics.rn.js.map +1 -0
- package/dist/env/env.rn.d.ts +14 -0
- package/dist/env/env.rn.d.ts.map +1 -0
- package/dist/env/env.rn.js +51 -0
- package/dist/env/env.rn.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/logging.rn.d.ts +27 -0
- package/dist/logging/logging.rn.d.ts.map +1 -0
- package/dist/logging/logging.rn.js +78 -0
- package/dist/logging/logging.rn.js.map +1 -0
- package/dist/navigation/navigation.rn.d.ts +29 -0
- package/dist/navigation/navigation.rn.d.ts.map +1 -0
- package/dist/navigation/navigation.rn.js +155 -0
- package/dist/navigation/navigation.rn.js.map +1 -0
- package/dist/network/network-singleton.d.ts +8 -0
- package/dist/network/network-singleton.d.ts.map +1 -0
- package/dist/network/network-singleton.js +36 -0
- package/dist/network/network-singleton.js.map +1 -0
- package/dist/network/network.rn.d.ts +38 -0
- package/dist/network/network.rn.d.ts.map +1 -0
- package/dist/network/network.rn.js +153 -0
- package/dist/network/network.rn.js.map +1 -0
- package/dist/notification/notification.rn.d.ts +25 -0
- package/dist/notification/notification.rn.d.ts.map +1 -0
- package/dist/notification/notification.rn.js +136 -0
- package/dist/notification/notification.rn.js.map +1 -0
- package/dist/storage/storage-singleton.d.ts +25 -0
- package/dist/storage/storage-singleton.d.ts.map +1 -0
- package/dist/storage/storage-singleton.js +68 -0
- package/dist/storage/storage-singleton.js.map +1 -0
- package/dist/storage/storage.rn.d.ts +23 -0
- package/dist/storage/storage.rn.d.ts.map +1 -0
- package/dist/storage/storage.rn.js +80 -0
- package/dist/storage/storage.rn.js.map +1 -0
- package/dist/theme/theme.rn.d.ts +28 -0
- package/dist/theme/theme.rn.d.ts.map +1 -0
- package/dist/theme/theme.rn.js +92 -0
- package/dist/theme/theme.rn.js.map +1 -0
- package/package.json +75 -0
package/README.md
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# @sudobility/di_rn
|
|
2
|
+
|
|
3
|
+
React Native implementations of dependency injection services for Signa Email.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @sudobility/di_rn
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
### Peer Dependencies
|
|
12
|
+
|
|
13
|
+
Make sure you have the following peer dependencies installed:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install @sudobility/di @sudobility/types react react-native
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Native Dependencies
|
|
20
|
+
|
|
21
|
+
This package requires the following native dependencies:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install @react-native-async-storage/async-storage
|
|
25
|
+
npm install @react-native-community/netinfo
|
|
26
|
+
npm install @react-navigation/native
|
|
27
|
+
npm install @react-native-firebase/analytics
|
|
28
|
+
npm install @notifee/react-native
|
|
29
|
+
npm install react-native-config
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Follow the installation instructions for each native dependency in their respective documentation.
|
|
33
|
+
|
|
34
|
+
## Usage
|
|
35
|
+
|
|
36
|
+
### Storage
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import { rnStorage, advancedRNStorage, getStorageService } from '@sudobility/di_rn';
|
|
40
|
+
|
|
41
|
+
// Basic storage
|
|
42
|
+
await rnStorage.setItem('key', 'value');
|
|
43
|
+
const value = await rnStorage.getItem('key');
|
|
44
|
+
|
|
45
|
+
// Advanced storage with TTL
|
|
46
|
+
await advancedRNStorage.setItem('key', 'value', 60000); // 60 second TTL
|
|
47
|
+
const value = await advancedRNStorage.getItem('key'); // Returns null if expired
|
|
48
|
+
|
|
49
|
+
// Storage service singleton
|
|
50
|
+
const storageService = getStorageService();
|
|
51
|
+
await storageService.setItem('key', 'value');
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Network
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
import { rnNetworkClient, rnNetworkService } from '@sudobility/di_rn';
|
|
58
|
+
|
|
59
|
+
// HTTP requests
|
|
60
|
+
const response = await rnNetworkClient.get<User>('/api/user');
|
|
61
|
+
const data = response.data;
|
|
62
|
+
|
|
63
|
+
// Network status
|
|
64
|
+
const isOnline = rnNetworkService.isOnline();
|
|
65
|
+
|
|
66
|
+
// Watch for network changes
|
|
67
|
+
const unsubscribe = rnNetworkService.watchNetworkStatus((isOnline) => {
|
|
68
|
+
console.log('Network status:', isOnline);
|
|
69
|
+
});
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Environment
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
import { rnEnvProvider, rnAppConfig } from '@sudobility/di_rn';
|
|
76
|
+
|
|
77
|
+
// Get environment variables
|
|
78
|
+
const apiUrl = rnEnvProvider.get('VITE_INDEXER_URL');
|
|
79
|
+
|
|
80
|
+
// Use pre-configured app config
|
|
81
|
+
const { indexerUrl, walletConnectProjectId } = rnAppConfig;
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Analytics
|
|
85
|
+
|
|
86
|
+
```typescript
|
|
87
|
+
import { rnAnalyticsClient } from '@sudobility/di_rn';
|
|
88
|
+
|
|
89
|
+
// Track events
|
|
90
|
+
await rnAnalyticsClient.trackEvent('wallet_connected', { chain: 'ethereum' });
|
|
91
|
+
|
|
92
|
+
// Set user properties
|
|
93
|
+
await rnAnalyticsClient.setUserProperties({ plan: 'premium' });
|
|
94
|
+
|
|
95
|
+
// Set user ID
|
|
96
|
+
await rnAnalyticsClient.setUserId('user-123');
|
|
97
|
+
|
|
98
|
+
// Track screen views
|
|
99
|
+
await rnAnalyticsClient.setCurrentScreen('ConnectWallet');
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Notifications
|
|
103
|
+
|
|
104
|
+
```typescript
|
|
105
|
+
import { rnNotificationService } from '@sudobility/di_rn';
|
|
106
|
+
|
|
107
|
+
// Request permission
|
|
108
|
+
const granted = await rnNotificationService.requestPermission();
|
|
109
|
+
|
|
110
|
+
// Show notification
|
|
111
|
+
const result = await rnNotificationService.showNotification('New Email', {
|
|
112
|
+
body: 'You have a new message from alice.eth',
|
|
113
|
+
data: { emailId: '123' },
|
|
114
|
+
});
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Theme
|
|
118
|
+
|
|
119
|
+
```typescript
|
|
120
|
+
import { rnThemeService } from '@sudobility/di_rn';
|
|
121
|
+
|
|
122
|
+
// Apply theme
|
|
123
|
+
rnThemeService.applyTheme('dark'); // 'light' | 'dark' | 'system'
|
|
124
|
+
|
|
125
|
+
// Get resolved theme
|
|
126
|
+
const theme = rnThemeService.getResolvedTheme(); // 'light' | 'dark'
|
|
127
|
+
|
|
128
|
+
// Watch for theme changes
|
|
129
|
+
const unsubscribe = rnThemeService.watchSystemTheme((theme) => {
|
|
130
|
+
console.log('Theme changed:', theme);
|
|
131
|
+
});
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Navigation
|
|
135
|
+
|
|
136
|
+
```typescript
|
|
137
|
+
import { rnNavigationService } from '@sudobility/di_rn';
|
|
138
|
+
|
|
139
|
+
// In App.tsx, set the navigation ref
|
|
140
|
+
const navigationRef = useNavigationContainerRef();
|
|
141
|
+
rnNavigationService.setNavigationRef(navigationRef);
|
|
142
|
+
|
|
143
|
+
// Navigate programmatically
|
|
144
|
+
rnNavigationService.navigate('EmailDetail', { emailId: '123' });
|
|
145
|
+
|
|
146
|
+
// Go back
|
|
147
|
+
rnNavigationService.goBack('/Inbox');
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Logging
|
|
151
|
+
|
|
152
|
+
```typescript
|
|
153
|
+
import { rnLogger, getLogger } from '@sudobility/di_rn';
|
|
154
|
+
|
|
155
|
+
// Log messages
|
|
156
|
+
rnLogger.info('App started');
|
|
157
|
+
rnLogger.warn('Low memory');
|
|
158
|
+
rnLogger.error('Network error', error);
|
|
159
|
+
|
|
160
|
+
// Create child logger with tag
|
|
161
|
+
const authLogger = rnLogger.child('Auth');
|
|
162
|
+
authLogger.info('User logged in');
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Configuration
|
|
166
|
+
|
|
167
|
+
### Environment Variables
|
|
168
|
+
|
|
169
|
+
Create a `.env` file in your project root:
|
|
170
|
+
|
|
171
|
+
```env
|
|
172
|
+
VITE_INDEXER_URL=https://indexer.0xmail.box
|
|
173
|
+
VITE_WILDDUCK_URL=https://wildduck.0xmail.box
|
|
174
|
+
VITE_WALLETCONNECT_PROJECT_ID=your-project-id
|
|
175
|
+
VITE_REVENUECAT_API_KEY=your-api-key
|
|
176
|
+
VITE_ALCHEMY_API_KEY=your-alchemy-key
|
|
177
|
+
VITE_FIREBASE_API_KEY=your-firebase-key
|
|
178
|
+
VITE_FIREBASE_PROJECT_ID=your-project-id
|
|
179
|
+
# ... other Firebase config
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## License
|
|
183
|
+
|
|
184
|
+
MIT
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AnalyticsClient, AnalyticsEventData, AnalyticsEvent } from '@sudobility/di';
|
|
2
|
+
import type { Optional } from '@sudobility/types';
|
|
3
|
+
export declare class RNAnalyticsClient implements AnalyticsClient {
|
|
4
|
+
private enabled;
|
|
5
|
+
private userId;
|
|
6
|
+
trackEvent(eventOrData: AnalyticsEvent | AnalyticsEventData): void;
|
|
7
|
+
setUserProperties(properties: Record<string, unknown>): void;
|
|
8
|
+
setUserId(userId: Optional<string>): void;
|
|
9
|
+
setAnalyticsEnabled(enabled: boolean): void;
|
|
10
|
+
setCurrentScreen(screenName: string, screenClass?: Optional<string>): void;
|
|
11
|
+
isEnabled(): boolean;
|
|
12
|
+
getUserId(): Optional<string>;
|
|
13
|
+
}
|
|
14
|
+
export declare function getAnalyticsClient(): RNAnalyticsClient;
|
|
15
|
+
export declare function initializeAnalyticsClient(client?: RNAnalyticsClient): RNAnalyticsClient;
|
|
16
|
+
export declare function resetAnalyticsClient(): void;
|
|
17
|
+
export declare const rnAnalyticsClient: RNAnalyticsClient;
|
|
18
|
+
//# sourceMappingURL=analytics.rn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.rn.d.ts","sourceRoot":"","sources":["../../src/analytics/analytics.rn.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAKlD,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;IAY3C,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IAgB1E,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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import analytics from '@react-native-firebase/analytics';
|
|
2
|
+
export class RNAnalyticsClient {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.enabled = true;
|
|
5
|
+
this.userId = null;
|
|
6
|
+
}
|
|
7
|
+
trackEvent(eventOrData) {
|
|
8
|
+
if (!this.enabled)
|
|
9
|
+
return;
|
|
10
|
+
if (typeof eventOrData === 'object' && 'event' in eventOrData) {
|
|
11
|
+
const { event, parameters } = eventOrData;
|
|
12
|
+
analytics()
|
|
13
|
+
.logEvent(event, parameters)
|
|
14
|
+
.catch(() => {
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
analytics()
|
|
19
|
+
.logEvent(eventOrData)
|
|
20
|
+
.catch(() => {
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
setUserProperties(properties) {
|
|
25
|
+
if (!this.enabled)
|
|
26
|
+
return;
|
|
27
|
+
for (const [key, value] of Object.entries(properties)) {
|
|
28
|
+
analytics()
|
|
29
|
+
.setUserProperty(key, String(value))
|
|
30
|
+
.catch(() => {
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
setUserId(userId) {
|
|
35
|
+
this.userId = userId;
|
|
36
|
+
if (!this.enabled)
|
|
37
|
+
return;
|
|
38
|
+
analytics()
|
|
39
|
+
.setUserId(userId ?? null)
|
|
40
|
+
.catch(() => {
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
setAnalyticsEnabled(enabled) {
|
|
44
|
+
this.enabled = enabled;
|
|
45
|
+
analytics()
|
|
46
|
+
.setAnalyticsCollectionEnabled(enabled)
|
|
47
|
+
.catch(() => {
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
setCurrentScreen(screenName, screenClass) {
|
|
51
|
+
if (!this.enabled)
|
|
52
|
+
return;
|
|
53
|
+
analytics()
|
|
54
|
+
.logScreenView({
|
|
55
|
+
screen_name: screenName,
|
|
56
|
+
screen_class: screenClass ?? screenName,
|
|
57
|
+
})
|
|
58
|
+
.catch(() => {
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
isEnabled() {
|
|
62
|
+
return this.enabled;
|
|
63
|
+
}
|
|
64
|
+
getUserId() {
|
|
65
|
+
return this.userId;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
let analyticsClient = null;
|
|
69
|
+
export function getAnalyticsClient() {
|
|
70
|
+
if (!analyticsClient) {
|
|
71
|
+
analyticsClient = new RNAnalyticsClient();
|
|
72
|
+
}
|
|
73
|
+
return analyticsClient;
|
|
74
|
+
}
|
|
75
|
+
export function initializeAnalyticsClient(client) {
|
|
76
|
+
analyticsClient = client ?? new RNAnalyticsClient();
|
|
77
|
+
return analyticsClient;
|
|
78
|
+
}
|
|
79
|
+
export function resetAnalyticsClient() {
|
|
80
|
+
analyticsClient = null;
|
|
81
|
+
}
|
|
82
|
+
export const rnAnalyticsClient = new RNAnalyticsClient();
|
|
83
|
+
//# sourceMappingURL=analytics.rn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.rn.js","sourceRoot":"","sources":["../../src/analytics/analytics.rn.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kCAAkC,CAAC;AAWzD,MAAM,OAAO,iBAAiB;IAA9B;QACU,YAAO,GAAY,IAAI,CAAC;QACxB,WAAM,GAAqB,IAAI,CAAC;IAgG1C,CAAC;IA3FC,UAAU,CAAC,WAAgD;QACzD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAG1B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;YAC9D,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;YAC1C,SAAS,EAAE;iBACR,QAAQ,CAAC,KAAK,EAAE,UAA6C,CAAC;iBAC9D,KAAK,CAAC,GAAG,EAAE;YAEZ,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YAEN,SAAS,EAAE;iBACR,QAAQ,CAAC,WAAW,CAAC;iBACrB,KAAK,CAAC,GAAG,EAAE;YAEZ,CAAC,CAAC,CAAC;QACP,CAAC;IACH,CAAC;IAKD,iBAAiB,CAAC,UAAmC;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACtD,SAAS,EAAE;iBACR,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;iBACnC,KAAK,CAAC,GAAG,EAAE;YAEZ,CAAC,CAAC,CAAC;QACP,CAAC;IACH,CAAC;IAKD,SAAS,CAAC,MAAwB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,SAAS,EAAE;aACR,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC;aACzB,KAAK,CAAC,GAAG,EAAE;QAEZ,CAAC,CAAC,CAAC;IACP,CAAC;IAKD,mBAAmB,CAAC,OAAgB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,SAAS,EAAE;aACR,6BAA6B,CAAC,OAAO,CAAC;aACtC,KAAK,CAAC,GAAG,EAAE;QAEZ,CAAC,CAAC,CAAC;IACP,CAAC;IAKD,gBAAgB,CAAC,UAAkB,EAAE,WAA8B;QACjE,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,SAAS,EAAE;aACR,aAAa,CAAC;YACb,WAAW,EAAE,UAAU;YACvB,YAAY,EAAE,WAAW,IAAI,UAAU;SACxC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;QAEZ,CAAC,CAAC,CAAC;IACP,CAAC;IAKD,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAKD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAGD,IAAI,eAAe,GAA6B,IAAI,CAAC;AAErD,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,MAA0B;IAE1B,eAAe,GAAG,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;IACpD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { EnvProvider, AppConfig, EnvironmentVariables, FirebaseConfig } from '@sudobility/di';
|
|
2
|
+
import type { Optional } from '@sudobility/types';
|
|
3
|
+
export declare class RNEnvProvider implements EnvProvider {
|
|
4
|
+
get<K extends keyof EnvironmentVariables>(key: K, defaultValue?: Optional<string>): Optional<EnvironmentVariables[K] | string>;
|
|
5
|
+
getAll(): EnvironmentVariables;
|
|
6
|
+
isDevelopment(): boolean;
|
|
7
|
+
isProduction(): boolean;
|
|
8
|
+
isTest(): boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function createRNAppConfig(envProvider: RNEnvProvider): AppConfig;
|
|
11
|
+
export declare const rnEnvProvider: RNEnvProvider;
|
|
12
|
+
export declare const rnAppConfig: AppConfig;
|
|
13
|
+
export type { EnvProvider, AppConfig, EnvironmentVariables, FirebaseConfig };
|
|
14
|
+
//# sourceMappingURL=env.rn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.rn.d.ts","sourceRoot":"","sources":["../../src/env/env.rn.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,cAAc,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAMlD,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;IAK7C,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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import Config from 'react-native-config';
|
|
2
|
+
export class RNEnvProvider {
|
|
3
|
+
get(key, defaultValue) {
|
|
4
|
+
const value = Config[key];
|
|
5
|
+
return value ?? defaultValue ?? null;
|
|
6
|
+
}
|
|
7
|
+
getAll() {
|
|
8
|
+
return Config;
|
|
9
|
+
}
|
|
10
|
+
isDevelopment() {
|
|
11
|
+
return typeof __DEV__ !== 'undefined' && __DEV__ === true;
|
|
12
|
+
}
|
|
13
|
+
isProduction() {
|
|
14
|
+
return !this.isDevelopment();
|
|
15
|
+
}
|
|
16
|
+
isTest() {
|
|
17
|
+
return process.env.NODE_ENV === 'test';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export function createRNAppConfig(envProvider) {
|
|
21
|
+
return {
|
|
22
|
+
wildDuckBackendUrl: envProvider.get('VITE_WILDDUCK_URL') ??
|
|
23
|
+
'https://wildduck.0xmail.box',
|
|
24
|
+
indexerBackendUrl: envProvider.get('VITE_INDEXER_URL') ??
|
|
25
|
+
'https://indexer.0xmail.box',
|
|
26
|
+
walletConnectProjectId: envProvider.get('VITE_WALLETCONNECT_PROJECT_ID') ?? '',
|
|
27
|
+
revenueCatApiKey: envProvider.get('VITE_REVENUECAT_API_KEY') ?? '',
|
|
28
|
+
privyAppId: envProvider.get('VITE_PRIVY_APP_ID') ?? '',
|
|
29
|
+
firebase: createFirebaseConfig(envProvider),
|
|
30
|
+
useCloudflareWorker: false,
|
|
31
|
+
cloudflareWorkerUrl: '',
|
|
32
|
+
useMockFallback: envProvider.get('VITE_MOCK_DATA') === 'true',
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function createFirebaseConfig(envProvider) {
|
|
36
|
+
return {
|
|
37
|
+
apiKey: envProvider.get('VITE_FIREBASE_API_KEY') ?? '',
|
|
38
|
+
authDomain: envProvider.get('VITE_FIREBASE_AUTH_DOMAIN') ??
|
|
39
|
+
'',
|
|
40
|
+
projectId: envProvider.get('VITE_FIREBASE_PROJECT_ID') ?? '',
|
|
41
|
+
storageBucket: envProvider.get('VITE_FIREBASE_STORAGE_BUCKET') ??
|
|
42
|
+
'',
|
|
43
|
+
messagingSenderId: envProvider.get('VITE_FIREBASE_MESSAGING_SENDER_ID') ?? '',
|
|
44
|
+
appId: envProvider.get('VITE_FIREBASE_APP_ID') ?? '',
|
|
45
|
+
measurementId: envProvider.get('VITE_FIREBASE_MEASUREMENT_ID') ??
|
|
46
|
+
undefined,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export const rnEnvProvider = new RNEnvProvider();
|
|
50
|
+
export const rnAppConfig = createRNAppConfig(rnEnvProvider);
|
|
51
|
+
//# sourceMappingURL=env.rn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.rn.js","sourceRoot":"","sources":["../../src/env/env.rn.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAazC,MAAM,OAAO,aAAa;IACxB,GAAG,CACD,GAAM,EACN,YAA+B;QAE/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAa,CAAC,CAAC;QACpC,OAAO,KAAK,IAAI,YAAY,IAAI,IAAI,CAAC;IACvC,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,SAAS;KACZ,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
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { RNStorage, AdvancedRNStorage, rnStorage, advancedRNStorage, } from './storage/storage.rn.js';
|
|
2
|
+
export { RNStorageService, RNSerializedStorageService, getStorageService, initializeStorageService, resetStorageService, } from './storage/storage-singleton.js';
|
|
3
|
+
export { RNNetworkClient, RNNetworkService, NetworkError, rnNetworkClient, rnNetworkService, } from './network/network.rn.js';
|
|
4
|
+
export { getNetworkService, initializeNetworkService, resetNetworkService, getNetworkClient, initializeNetworkClient, resetNetworkClient, } from './network/network-singleton.js';
|
|
5
|
+
export { RNEnvProvider, createRNAppConfig, rnEnvProvider, rnAppConfig, } from './env/env.rn.js';
|
|
6
|
+
export type { EnvProvider, AppConfig, EnvironmentVariables, FirebaseConfig, } from './env/env.rn.js';
|
|
7
|
+
export { RNAnalyticsClient, getAnalyticsClient, initializeAnalyticsClient, resetAnalyticsClient, rnAnalyticsClient, } from './analytics/analytics.rn.js';
|
|
8
|
+
export { RNNotificationService, getNotificationService, initializeNotificationService, resetNotificationService, rnNotificationService, } from './notification/notification.rn.js';
|
|
9
|
+
export { RNThemeService, getThemeService, initializeThemeService, resetThemeService, rnThemeService, } from './theme/theme.rn.js';
|
|
10
|
+
export type { ThemeMode, FontSize } from './theme/theme.rn.js';
|
|
11
|
+
export { RNLogger, RNLoggerProvider, getLoggerProvider, getLogger, initializeLoggerProvider, resetLoggerProvider, rnLogger, rnLoggerProvider, } from './logging/logging.rn.js';
|
|
12
|
+
export { RNNavigationService, getNavigationService, initializeNavigationService, resetNavigationService, rnNavigationService, } from './navigation/navigation.rn.js';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { RNStorage, AdvancedRNStorage, rnStorage, advancedRNStorage, } from './storage/storage.rn.js';
|
|
2
|
+
export { RNStorageService, RNSerializedStorageService, getStorageService, initializeStorageService, resetStorageService, } from './storage/storage-singleton.js';
|
|
3
|
+
export { RNNetworkClient, RNNetworkService, NetworkError, rnNetworkClient, rnNetworkService, } from './network/network.rn.js';
|
|
4
|
+
export { getNetworkService, initializeNetworkService, resetNetworkService, getNetworkClient, initializeNetworkClient, resetNetworkClient, } from './network/network-singleton.js';
|
|
5
|
+
export { RNEnvProvider, createRNAppConfig, rnEnvProvider, rnAppConfig, } from './env/env.rn.js';
|
|
6
|
+
export { RNAnalyticsClient, getAnalyticsClient, initializeAnalyticsClient, resetAnalyticsClient, rnAnalyticsClient, } from './analytics/analytics.rn.js';
|
|
7
|
+
export { RNNotificationService, getNotificationService, initializeNotificationService, resetNotificationService, rnNotificationService, } from './notification/notification.rn.js';
|
|
8
|
+
export { RNThemeService, getThemeService, initializeThemeService, resetThemeService, rnThemeService, } from './theme/theme.rn.js';
|
|
9
|
+
export { RNLogger, RNLoggerProvider, getLoggerProvider, getLogger, initializeLoggerProvider, resetLoggerProvider, rnLogger, rnLoggerProvider, } from './logging/logging.rn.js';
|
|
10
|
+
export { RNNavigationService, getNavigationService, initializeNavigationService, resetNavigationService, rnNavigationService, } from './navigation/navigation.rn.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Logger, LoggerProvider, LogType } from '@sudobility/di';
|
|
2
|
+
export declare class RNLogger implements Logger {
|
|
3
|
+
readonly type: LogType;
|
|
4
|
+
private prefix;
|
|
5
|
+
constructor(type?: LogType, prefix?: string);
|
|
6
|
+
log(...args: unknown[]): void;
|
|
7
|
+
info(...args: unknown[]): void;
|
|
8
|
+
warn(...args: unknown[]): void;
|
|
9
|
+
error(...args: unknown[]): void;
|
|
10
|
+
debug(...args: unknown[]): void;
|
|
11
|
+
child(tag: string): RNLogger;
|
|
12
|
+
}
|
|
13
|
+
export declare class RNLoggerProvider implements LoggerProvider {
|
|
14
|
+
private logType;
|
|
15
|
+
private logger;
|
|
16
|
+
constructor(logType?: LogType);
|
|
17
|
+
getLogger(): RNLogger;
|
|
18
|
+
setLogType(type: LogType): void;
|
|
19
|
+
getLogType(): LogType;
|
|
20
|
+
}
|
|
21
|
+
export declare function getLoggerProvider(): RNLoggerProvider;
|
|
22
|
+
export declare function getLogger(): RNLogger;
|
|
23
|
+
export declare function initializeLoggerProvider(type?: LogType): RNLoggerProvider;
|
|
24
|
+
export declare function resetLoggerProvider(): void;
|
|
25
|
+
export declare const rnLogger: RNLogger;
|
|
26
|
+
export declare const rnLoggerProvider: RNLoggerProvider;
|
|
27
|
+
//# sourceMappingURL=logging.rn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.rn.d.ts","sourceRoot":"","sources":["../../src/logging/logging.rn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAMtE,qBAAa,QAAS,YAAW,MAAM;IACrC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,MAAM,CAAS;gBAGrB,IAAI,GAAE,OAA8B,EACpC,MAAM,GAAE,MAAuB;IAMjC,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAQ7B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAQ9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAQ9B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAO/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAW/B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;CAG7B;AAKD,qBAAa,gBAAiB,YAAW,cAAc;IACrD,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAAW;gBAEb,OAAO,GAAE,OAA8B;IAKnD,SAAS,IAAI,QAAQ;IAIrB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAK/B,UAAU,IAAI,OAAO;CAGtB;AAKD,wBAAgB,iBAAiB,IAAI,gBAAgB,CAKpD;AAED,wBAAgB,SAAS,IAAI,QAAQ,CAEpC;AAED,wBAAgB,wBAAwB,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAGzE;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,eAAO,MAAM,QAAQ,UAAiB,CAAC;AACvC,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export class RNLogger {
|
|
2
|
+
constructor(type = 'console', prefix = '[SignaEmail]') {
|
|
3
|
+
this.type = type;
|
|
4
|
+
this.prefix = prefix;
|
|
5
|
+
}
|
|
6
|
+
log(...args) {
|
|
7
|
+
if (this.type === 'none')
|
|
8
|
+
return;
|
|
9
|
+
if (__DEV__) {
|
|
10
|
+
console.log(this.prefix, ...args);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
info(...args) {
|
|
14
|
+
if (this.type === 'none')
|
|
15
|
+
return;
|
|
16
|
+
if (__DEV__) {
|
|
17
|
+
console.info(this.prefix, '[INFO]', ...args);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
warn(...args) {
|
|
21
|
+
if (this.type === 'none')
|
|
22
|
+
return;
|
|
23
|
+
if (__DEV__) {
|
|
24
|
+
console.warn(this.prefix, '[WARN]', ...args);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
error(...args) {
|
|
28
|
+
if (this.type === 'none')
|
|
29
|
+
return;
|
|
30
|
+
console.error(this.prefix, '[ERROR]', ...args);
|
|
31
|
+
}
|
|
32
|
+
debug(...args) {
|
|
33
|
+
if (this.type === 'none')
|
|
34
|
+
return;
|
|
35
|
+
if (__DEV__) {
|
|
36
|
+
console.debug(this.prefix, '[DEBUG]', ...args);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
child(tag) {
|
|
40
|
+
return new RNLogger(this.type, `${this.prefix}[${tag}]`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export class RNLoggerProvider {
|
|
44
|
+
constructor(logType = 'console') {
|
|
45
|
+
this.logType = logType;
|
|
46
|
+
this.logger = new RNLogger(logType);
|
|
47
|
+
}
|
|
48
|
+
getLogger() {
|
|
49
|
+
return this.logger;
|
|
50
|
+
}
|
|
51
|
+
setLogType(type) {
|
|
52
|
+
this.logType = type;
|
|
53
|
+
this.logger = new RNLogger(type);
|
|
54
|
+
}
|
|
55
|
+
getLogType() {
|
|
56
|
+
return this.logType;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
let loggerProvider = null;
|
|
60
|
+
export function getLoggerProvider() {
|
|
61
|
+
if (!loggerProvider) {
|
|
62
|
+
loggerProvider = new RNLoggerProvider();
|
|
63
|
+
}
|
|
64
|
+
return loggerProvider;
|
|
65
|
+
}
|
|
66
|
+
export function getLogger() {
|
|
67
|
+
return getLoggerProvider().getLogger();
|
|
68
|
+
}
|
|
69
|
+
export function initializeLoggerProvider(type) {
|
|
70
|
+
loggerProvider = new RNLoggerProvider(type);
|
|
71
|
+
return loggerProvider;
|
|
72
|
+
}
|
|
73
|
+
export function resetLoggerProvider() {
|
|
74
|
+
loggerProvider = null;
|
|
75
|
+
}
|
|
76
|
+
export const rnLogger = new RNLogger();
|
|
77
|
+
export const rnLoggerProvider = new RNLoggerProvider();
|
|
78
|
+
//# sourceMappingURL=logging.rn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.rn.js","sourceRoot":"","sources":["../../src/logging/logging.rn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { NavigationContainerRef, NavigationState as RNNavigationState } from '@react-navigation/native';
|
|
2
|
+
import type { NavigationService, NavigationState, NavigationOptions } from '@sudobility/di';
|
|
3
|
+
import type { Optional } from '@sudobility/types';
|
|
4
|
+
export declare class RNNavigationService implements NavigationService {
|
|
5
|
+
private navigationRef;
|
|
6
|
+
private listeners;
|
|
7
|
+
setNavigationRef(ref: NavigationContainerRef<Record<string, unknown>>): void;
|
|
8
|
+
navigate(path: string, options?: Optional<NavigationOptions>): void;
|
|
9
|
+
goBack(fallbackPath?: Optional<string>): void;
|
|
10
|
+
goForward(): void;
|
|
11
|
+
replace(path: string, options?: Optional<NavigationOptions>): void;
|
|
12
|
+
getCurrentState(): NavigationState;
|
|
13
|
+
getCurrentPath(): string;
|
|
14
|
+
getSearchParams(): Record<string, string>;
|
|
15
|
+
getParams(): Record<string, string>;
|
|
16
|
+
private getCurrentRouteName;
|
|
17
|
+
private getCurrentRouteParams;
|
|
18
|
+
addListener(listener: (state: NavigationState) => void): () => void;
|
|
19
|
+
onStateChange(state: RNNavigationState | undefined): void;
|
|
20
|
+
isSupported(): boolean;
|
|
21
|
+
canGoBack(): boolean;
|
|
22
|
+
canGoForward(): boolean;
|
|
23
|
+
resetToInitial(initialRoute: string): void;
|
|
24
|
+
}
|
|
25
|
+
export declare function getNavigationService(): RNNavigationService;
|
|
26
|
+
export declare function initializeNavigationService(service?: RNNavigationService): RNNavigationService;
|
|
27
|
+
export declare function resetNavigationService(): void;
|
|
28
|
+
export declare const rnNavigationService: RNNavigationService;
|
|
29
|
+
//# sourceMappingURL=navigation.rn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.rn.d.ts","sourceRoot":"","sources":["../../src/navigation/navigation.rn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,IAAI,iBAAiB,EACrC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAMlD,qBAAa,mBAAoB,YAAW,iBAAiB;IAC3D,OAAO,CAAC,aAAa,CAEL;IAChB,OAAO,CAAC,SAAS,CAAoD;IAMrE,gBAAgB,CAAC,GAAG,EAAE,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI;IAO5E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAiBnE,MAAM,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IAgB7C,SAAS,IAAI,IAAI;IAQjB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAgBlE,eAAe,IAAI,eAAe;IAuBlC,cAAc,IAAI,MAAM;IAOxB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAOzC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAOnC,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,qBAAqB;IA+B7B,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI;IAanE,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI;IAkBzD,WAAW,IAAI,OAAO;IAOtB,SAAS,IAAI,OAAO;IAOpB,YAAY,IAAI,OAAO;IAOvB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;CAW3C;AAKD,wBAAgB,oBAAoB,IAAI,mBAAmB,CAK1D;AAED,wBAAgB,2BAA2B,CACzC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,mBAAmB,CAGrB;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED,eAAO,MAAM,mBAAmB,qBAA4B,CAAC"}
|