File tree Expand file tree Collapse file tree 2 files changed +36
-2
lines changed
packages/react-native/lib Expand file tree Collapse file tree 2 files changed +36
-2
lines changed Original file line number Diff line number Diff line change
1
+ import {
2
+ walletEventEmitter ,
3
+ initializeWallet ,
4
+ getWallet ,
5
+ WalletEvents ,
6
+ } from './wallet' ;
7
+
8
+ describe ( 'Wallet handler' , ( ) => {
9
+ it ( 'expect to dispatchEvent when wallet is ready for react-native usage' , async ( ) => {
10
+ jest . spyOn ( walletEventEmitter , 'on' ) ;
11
+
12
+ await initializeWallet ( ) ;
13
+
14
+ expect ( getWallet ( ) ) . toBeDefined ( ) ;
15
+ expect ( walletEventEmitter . on ) . toBeCalledWith (
16
+ WalletEvents . walletInitialized ,
17
+ ) ;
18
+ } ) ;
19
+ } ) ;
Original file line number Diff line number Diff line change
1
+ import { EventEmitter } from 'events' ;
1
2
import { createWallet , IWallet } from '@docknetwork/wallet-sdk-core/src/wallet' ;
2
3
import { dockDocumentNetworkResolver } from '@docknetwork/wallet-sdk-core/src/network-resolver' ;
3
4
import { DataStoreConfigs } from '@docknetwork/wallet-sdk-data-store/src/types' ;
4
- import { createDIDProvider , IDIDProvider } from '@docknetwork/wallet-sdk-core/src/did-provider' ;
5
- import { createMessageProvider , IMessageProvider } from '@docknetwork/wallet-sdk-core/src/message-provider' ;
5
+ import {
6
+ createDIDProvider ,
7
+ IDIDProvider ,
8
+ } from '@docknetwork/wallet-sdk-core/src/did-provider' ;
9
+ import {
10
+ createMessageProvider ,
11
+ IMessageProvider ,
12
+ } from '@docknetwork/wallet-sdk-core/src/message-provider' ;
6
13
7
14
let wallet : IWallet ;
8
15
let didProvider : IDIDProvider ;
9
16
let messageProvider : IMessageProvider ;
10
17
18
+ export const WalletEvents = {
19
+ walletInitialized : 'walletInitialized' ,
20
+ } ;
21
+
22
+ export const walletEventEmitter = new EventEmitter ( ) ;
23
+
11
24
export function getWallet ( ) {
12
25
if ( ! wallet ) {
13
26
throw new Error ( 'Wallet not initialized' ) ;
@@ -76,5 +89,7 @@ export async function initializeWallet(params: DataStoreConfigs = {} as any) {
76
89
77
90
setMessageProvider ( _messageProvider ) ;
78
91
92
+ walletEventEmitter . emit ( WalletEvents . walletInitialized ) ;
93
+
79
94
return _wallet ;
80
95
}
You can’t perform that action at this time.
0 commit comments