Skip to content

Commit 3467562

Browse files
authored
Merge branch 'master' into fix/did-creation
2 parents 429d103 + b15fb01 commit 3467562

File tree

2 files changed

+36
-2
lines changed

2 files changed

+36
-2
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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+
});

packages/react-native/lib/wallet.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,26 @@
1+
import {EventEmitter} from 'events';
12
import {createWallet, IWallet} from '@docknetwork/wallet-sdk-core/src/wallet';
23
import {dockDocumentNetworkResolver} from '@docknetwork/wallet-sdk-core/src/network-resolver';
34
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';
613

714
let wallet: IWallet;
815
let didProvider: IDIDProvider;
916
let messageProvider: IMessageProvider;
1017

18+
export const WalletEvents = {
19+
walletInitialized: 'walletInitialized',
20+
};
21+
22+
export const walletEventEmitter = new EventEmitter();
23+
1124
export function getWallet() {
1225
if (!wallet) {
1326
throw new Error('Wallet not initialized');
@@ -76,5 +89,7 @@ export async function initializeWallet(params: DataStoreConfigs = {} as any) {
7689

7790
setMessageProvider(_messageProvider);
7891

92+
walletEventEmitter.emit(WalletEvents.walletInitialized);
93+
7994
return _wallet;
8095
}

0 commit comments

Comments
 (0)