@dynamic-labs/logger 2.1.0-alpha.3 → 2.1.0-alpha.31

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/CHANGELOG.md CHANGED
@@ -1,4 +1,267 @@
1
1
 
2
+ ## [2.1.0-alpha.31](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.30...v2.1.0-alpha.31) (2024-05-31)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * export solana private keys in the correct format ([#5809](https://github.com/dynamic-labs/DynamicAuth/issues/5809)) ([08ac1f8](https://github.com/dynamic-labs/DynamicAuth/commit/08ac1f87bb02ad07fd1fc1f544fdcc64ebe635b8))
8
+ * magiceden evm network switching ([#5800](https://github.com/dynamic-labs/DynamicAuth/issues/5800)) ([9b86797](https://github.com/dynamic-labs/DynamicAuth/commit/9b8679735f3db4b33bb57409c3a69adf2beb82aa))
9
+ * pass all signing inputs to createPsbtOptions ([#5798](https://github.com/dynamic-labs/DynamicAuth/issues/5798)) ([628ad4f](https://github.com/dynamic-labs/DynamicAuth/commit/628ad4f8c161496a0610ecbc3052735f8ceae98d))
10
+ * trigger onboarding async ([#5805](https://github.com/dynamic-labs/DynamicAuth/issues/5805)) ([2c1f98c](https://github.com/dynamic-labs/DynamicAuth/commit/2c1f98c0d91422f75e2d6d32ea4a27c2bc8d8376))
11
+
12
+ ## [2.1.0-alpha.30](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.29...v2.1.0-alpha.30) (2024-05-31)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * ensure initExpirationTime is called automatically after authenticating ([#5797](https://github.com/dynamic-labs/DynamicAuth/issues/5797)) ([87eb802](https://github.com/dynamic-labs/DynamicAuth/commit/87eb802e0c2d3af2ca116e07099bfef426d30a1f))
18
+ * initExpirationTime should use expiresAt from storage ([#5799](https://github.com/dynamic-labs/DynamicAuth/issues/5799)) ([384ed17](https://github.com/dynamic-labs/DynamicAuth/commit/384ed1747d9b813ac0d34aaee36eb6480cb256d3))
19
+ * only run useValidateSession once on rerender ([#5795](https://github.com/dynamic-labs/DynamicAuth/issues/5795)) ([ba4446d](https://github.com/dynamic-labs/DynamicAuth/commit/ba4446df95726248b877a84def959cabe81ad9b6))
20
+ * store expiresAt timestamp from VerifyResponse in local storage for use in initExpirationTime ([#5796](https://github.com/dynamic-labs/DynamicAuth/issues/5796)) ([5f8aaeb](https://github.com/dynamic-labs/DynamicAuth/commit/5f8aaeb1cd45b10cb007f9eac25d18f50f142d8f))
21
+
22
+ ## [2.1.0-alpha.29](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.28...v2.1.0-alpha.29) (2024-05-30)
23
+
24
+
25
+ ### Features
26
+
27
+ * add account and chain to coinbase walletClient ([#5776](https://github.com/dynamic-labs/DynamicAuth/issues/5776)) ([557091c](https://github.com/dynamic-labs/DynamicAuth/commit/557091c0efaec11273bd40b53c8bcd633c1bf48d))
28
+ * add support for phantom btc ([#5717](https://github.com/dynamic-labs/DynamicAuth/issues/5717)) ([c61ca4f](https://github.com/dynamic-labs/DynamicAuth/commit/c61ca4f437796be2b420902de7e7de730725d122))
29
+
30
+
31
+ ### Bug Fixes
32
+
33
+ * add phantom btc mobile redirect ([#5789](https://github.com/dynamic-labs/DynamicAuth/issues/5789)) ([aaa2654](https://github.com/dynamic-labs/DynamicAuth/commit/aaa26548668b0733e7930c1d7f5cc3937b3dfb50))
34
+ * clear settings and configurations when logged out on page load ([#5787](https://github.com/dynamic-labs/DynamicAuth/issues/5787)) ([53c4d0b](https://github.com/dynamic-labs/DynamicAuth/commit/53c4d0b4686debdb43b1ab1b8b9e296ed4dd74b6))
35
+ * lookup projectSettings from store to check if cookie enabled ([#5790](https://github.com/dynamic-labs/DynamicAuth/issues/5790)) ([6f2314b](https://github.com/dynamic-labs/DynamicAuth/commit/6f2314b0afef984e6caea79ead73d12c5c6d83f0))
36
+
37
+ ## [2.1.0-alpha.28](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.27...v2.1.0-alpha.28) (2024-05-29)
38
+
39
+
40
+ ### Features
41
+
42
+ * adds solana standard wallet connector ([#5752](https://github.com/dynamic-labs/DynamicAuth/issues/5752)) ([0040940](https://github.com/dynamic-labs/DynamicAuth/commit/0040940fd1adb37ab3106bb0e4dfe79403bc41f2))
43
+
44
+
45
+ ### Bug Fixes
46
+
47
+ * farcaster fetch url fix ([#5767](https://github.com/dynamic-labs/DynamicAuth/issues/5767)) ([1408ba9](https://github.com/dynamic-labs/DynamicAuth/commit/1408ba92680363b9db7820a63d5e3d15dc26ad22))
48
+
49
+ ## [2.1.0-alpha.27](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.26...v2.1.0-alpha.27) (2024-05-29)
50
+
51
+
52
+ ### Bug Fixes
53
+
54
+ * coinbase connection ([#5764](https://github.com/dynamic-labs/DynamicAuth/issues/5764)) ([aeacd1c](https://github.com/dynamic-labs/DynamicAuth/commit/aeacd1c55dc471fbf8c14eb05ab356b0a90aa239))
55
+
56
+ ## [2.1.0-alpha.26](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.25...v2.1.0-alpha.26) (2024-05-29)
57
+
58
+
59
+ ### Features
60
+
61
+ * add farcaster login to react native ([#5713](https://github.com/dynamic-labs/DynamicAuth/issues/5713)) ([08f4473](https://github.com/dynamic-labs/DynamicAuth/commit/08f4473eec9b32b82b6f703fa4d5136514a61b25))
62
+
63
+
64
+ ### Bug Fixes
65
+
66
+ * better error handling of invalid mfa otp ([#5759](https://github.com/dynamic-labs/DynamicAuth/issues/5759)) ([72ab01f](https://github.com/dynamic-labs/DynamicAuth/commit/72ab01f8f919f147eeedfabf8b4838802abf308a))
67
+ * show correct status for magic eden btc wallets after ([#5748](https://github.com/dynamic-labs/DynamicAuth/issues/5748)) ([b8f20bb](https://github.com/dynamic-labs/DynamicAuth/commit/b8f20bb796b9a2e88817ef3b0da6ac32e9012b18))
68
+
69
+ ## [2.1.0-alpha.25](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.24...v2.1.0-alpha.25) (2024-05-27)
70
+
71
+
72
+ ### Bug Fixes
73
+
74
+ * btc balance calculation ([#5737](https://github.com/dynamic-labs/DynamicAuth/issues/5737)) ([9b5ceb3](https://github.com/dynamic-labs/DynamicAuth/commit/9b5ceb32d543037f60d7104f0b81b3abc86ebd10))
75
+
76
+ ## [2.1.0-alpha.24](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.23...v2.1.0-alpha.24) (2024-05-26)
77
+
78
+
79
+ ### Features
80
+
81
+ * add onMfaCompleteOnce to useMfa ([#5702](https://github.com/dynamic-labs/DynamicAuth/issues/5702)) ([6451e33](https://github.com/dynamic-labs/DynamicAuth/commit/6451e3369ef1b4ba116378f0dd3fe4e82007e670))
82
+ * prompt custom fields during onboarding ([#5302](https://github.com/dynamic-labs/DynamicAuth/issues/5302)) ([8664223](https://github.com/dynamic-labs/DynamicAuth/commit/86642232cf2b490a820169f48ba8dc093010e1a0))
83
+
84
+
85
+ ### Bug Fixes
86
+
87
+ * correct text on pending signature screen to match the embedded widget modal text ([#5707](https://github.com/dynamic-labs/DynamicAuth/issues/5707)) ([44a6a06](https://github.com/dynamic-labs/DynamicAuth/commit/44a6a0664e08d4b9fc25dd86c0e30f8d585558e0))
88
+ * pass captcha token for farcaster login ([#5706](https://github.com/dynamic-labs/DynamicAuth/issues/5706)) ([32bcb6e](https://github.com/dynamic-labs/DynamicAuth/commit/32bcb6e0e06c6e273c07f32893dfd550deeb6a19))
89
+ * use coinbase provider to get connected accounts for consistency ([#5711](https://github.com/dynamic-labs/DynamicAuth/issues/5711)) ([b9e9170](https://github.com/dynamic-labs/DynamicAuth/commit/b9e9170dad1ac27a85a44a7177b82055ce0035cb))
90
+
91
+ ## [2.1.0-alpha.23](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.22...v2.1.0-alpha.23) (2024-05-23)
92
+
93
+
94
+ ### Features
95
+
96
+ * add authFailure and authInit events ([#5659](https://github.com/dynamic-labs/DynamicAuth/issues/5659)) ([f4f592a](https://github.com/dynamic-labs/DynamicAuth/commit/f4f592aaacd96fae9333b803c235c5f1fea0e20e))
97
+ * prompt mfa on signup and signin ([#5599](https://github.com/dynamic-labs/DynamicAuth/issues/5599)) ([8d4ecf4](https://github.com/dynamic-labs/DynamicAuth/commit/8d4ecf4c69c59c1fb14e79511fb2f9b33a7e3d89))
98
+
99
+
100
+ ### Bug Fixes
101
+
102
+ * close auth modal if create embedded wallet throws ([#5683](https://github.com/dynamic-labs/DynamicAuth/issues/5683)) ([5331d73](https://github.com/dynamic-labs/DynamicAuth/commit/5331d731a171bb52a598eb5b25f7ba80cef7a64c))
103
+ * prevent state update when the webview is unmounted ([#5688](https://github.com/dynamic-labs/DynamicAuth/issues/5688)) ([8e4ecbd](https://github.com/dynamic-labs/DynamicAuth/commit/8e4ecbdcdb5f48c57ecaad90d663c66529013192))
104
+ * show phone number in use error message ([#5681](https://github.com/dynamic-labs/DynamicAuth/issues/5681)) ([e62f7b7](https://github.com/dynamic-labs/DynamicAuth/commit/e62f7b7b6a5e217944346faf2410028433cecad4))
105
+
106
+ ## [2.1.0-alpha.22](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.21...v2.1.0-alpha.22) (2024-05-21)
107
+
108
+ ## [2.1.0-alpha.21](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.20...v2.1.0-alpha.21) (2024-05-21)
109
+
110
+ ## [2.1.0-alpha.20](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.19...v2.1.0-alpha.20) (2024-05-21)
111
+
112
+
113
+ ### Features
114
+
115
+ * adds client.networks module ([#5650](https://github.com/dynamic-labs/DynamicAuth/issues/5650)) ([70f7fe5](https://github.com/dynamic-labs/DynamicAuth/commit/70f7fe5f437756c51e787ac12183be0a23c51b89))
116
+ * user fields supports custom fields ([#5639](https://github.com/dynamic-labs/DynamicAuth/issues/5639)) ([8eb5788](https://github.com/dynamic-labs/DynamicAuth/commit/8eb5788fc3e1286929f5949ecb57736b21b13fb5))
117
+
118
+
119
+ ### Bug Fixes
120
+
121
+ * add webcredentials to expo ([#5640](https://github.com/dynamic-labs/DynamicAuth/issues/5640)) ([9026fbf](https://github.com/dynamic-labs/DynamicAuth/commit/9026fbf0108537e884588f3adcdb9f0db04a159b))
122
+ * init ethers web3provider without a network if selected network is unsupported ([#5651](https://github.com/dynamic-labs/DynamicAuth/issues/5651)) ([e82040f](https://github.com/dynamic-labs/DynamicAuth/commit/e82040f424b17a70fac4400ab5b85a0dc6c0e35a))
123
+
124
+ ## [2.1.0-alpha.19](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.18...v2.1.0-alpha.19) (2024-05-17)
125
+
126
+
127
+ ### Features
128
+
129
+ * add createUserProfileFromSDKUser ([#5596](https://github.com/dynamic-labs/DynamicAuth/issues/5596)) ([d37a1b4](https://github.com/dynamic-labs/DynamicAuth/commit/d37a1b4119f5ff4fff1e987d157f6d5abf105a8b))
130
+ * add headless social sign-in ([#5439](https://github.com/dynamic-labs/DynamicAuth/issues/5439)) ([e32fdf8](https://github.com/dynamic-labs/DynamicAuth/commit/e32fdf863718d661b90b592c8df734e92386ddf3))
131
+ * fetch custom fields in profile and update user ([#5627](https://github.com/dynamic-labs/DynamicAuth/issues/5627)) ([3940c25](https://github.com/dynamic-labs/DynamicAuth/commit/3940c2542bb330f3ed9a8eb98eed9d05c8fcb03a))
132
+
133
+
134
+ ### Bug Fixes
135
+
136
+ * include applinks details to AASA ([#5635](https://github.com/dynamic-labs/DynamicAuth/issues/5635)) ([ce94fec](https://github.com/dynamic-labs/DynamicAuth/commit/ce94fec80adbb3eb4efcb79d1aa2cc6eb35eab6f))
137
+ * include the appOrigin to every api call to create correct passkey ([#5636](https://github.com/dynamic-labs/DynamicAuth/issues/5636)) ([ee64df3](https://github.com/dynamic-labs/DynamicAuth/commit/ee64df3b90037bd29cca161e601973ef202c58f0))
138
+ * use PromptModal when using the DynamicMultiWalletPromptsWidget for pending connection views ([#5594](https://github.com/dynamic-labs/DynamicAuth/issues/5594)) ([c095b6e](https://github.com/dynamic-labs/DynamicAuth/commit/c095b6e4c974f02cfe632963be92d16bb201dfa5))
139
+
140
+ ## [2.1.0-alpha.18](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.17...v2.1.0-alpha.18) (2024-05-15)
141
+
142
+ ## [2.1.0-alpha.17](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.16...v2.1.0-alpha.17) (2024-05-15)
143
+
144
+
145
+ ### Features
146
+
147
+ * add coinbaseWalletPreference prop ([#5607](https://github.com/dynamic-labs/DynamicAuth/issues/5607)) ([1ac3b2c](https://github.com/dynamic-labs/DynamicAuth/commit/1ac3b2ce7abb136465f4aa88b045dfb70d99aad7))
148
+
149
+ ## [2.1.0-alpha.16](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.15...v2.1.0-alpha.16) (2024-05-14)
150
+
151
+
152
+ ### Features
153
+
154
+ * add client.sdk.error with errors from the webview ([#5520](https://github.com/dynamic-labs/DynamicAuth/issues/5520)) ([a886927](https://github.com/dynamic-labs/DynamicAuth/commit/a8869273bf361c870d6e3cb82a28d9ccec65905b))
155
+ * add setDefaultTabIndex to default the selected wallets tab ([#5593](https://github.com/dynamic-labs/DynamicAuth/issues/5593)) ([6e8ce05](https://github.com/dynamic-labs/DynamicAuth/commit/6e8ce053c4f6f009acc57dac55a8e9c74fbcc73b))
156
+ * add visibility/auth-flow/user-profile to react-native ([#5564](https://github.com/dynamic-labs/DynamicAuth/issues/5564)) ([d93cea8](https://github.com/dynamic-labs/DynamicAuth/commit/d93cea82a123c6ec4d3d594a7dc064f4db2981c2))
157
+
158
+ ## [2.1.0-alpha.15](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.14...v2.1.0-alpha.15) (2024-05-13)
159
+
160
+
161
+ ### Bug Fixes
162
+
163
+ * when a pregen is created, primaryWallet is not being setup ([#5584](https://github.com/dynamic-labs/DynamicAuth/issues/5584)) ([de08721](https://github.com/dynamic-labs/DynamicAuth/commit/de0872151e09f91dcbfaf1d043cf830f9df8d799))
164
+
165
+ ## [2.1.0-alpha.14](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.13...v2.1.0-alpha.14) (2024-05-09)
166
+
167
+
168
+ ### Features
169
+
170
+ * add useSwitchWallet ([#5575](https://github.com/dynamic-labs/DynamicAuth/issues/5575)) ([d3053d9](https://github.com/dynamic-labs/DynamicAuth/commit/d3053d920110c26ef8052e77bf59e07dedc7c683))
171
+
172
+
173
+ ### Bug Fixes
174
+
175
+ * linking phantom wallets in mobile ([#5524](https://github.com/dynamic-labs/DynamicAuth/issues/5524)) ([28d90f5](https://github.com/dynamic-labs/DynamicAuth/commit/28d90f5126b9c22535b63a3797cc060ef089fc63))
176
+ * only show farcaster QR code if Social Login is enabled ([#5559](https://github.com/dynamic-labs/DynamicAuth/issues/5559)) ([fa71aaf](https://github.com/dynamic-labs/DynamicAuth/commit/fa71aaf0f80da31d397600b2fd0cbea99b3689a4))
177
+ * remove goerli testnets and add sepolia ([#5565](https://github.com/dynamic-labs/DynamicAuth/issues/5565)) ([888eb03](https://github.com/dynamic-labs/DynamicAuth/commit/888eb031ef6f4dbbdc3015265cce8647d2c720b0))
178
+
179
+ ## [2.1.0-alpha.13](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.12...v2.1.0-alpha.13) (2024-05-03)
180
+
181
+
182
+ ### Bug Fixes
183
+
184
+ * ensure Farcaster QR uses useSocialAuth hook ([#5550](https://github.com/dynamic-labs/DynamicAuth/issues/5550)) ([57fcd97](https://github.com/dynamic-labs/DynamicAuth/commit/57fcd97c44e3f52065dcf856acf7bca7b24fabc7))
185
+
186
+ ## [2.1.0-alpha.12](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.11...v2.1.0-alpha.12) (2024-05-02)
187
+
188
+
189
+ ### Features
190
+
191
+ * display Farcaster QR code when it is the only login option ([#5514](https://github.com/dynamic-labs/DynamicAuth/issues/5514)) ([7b166d9](https://github.com/dynamic-labs/DynamicAuth/commit/7b166d9a30c581746f0e2edb71c44fc015dc128e))
192
+
193
+ ## [2.1.0-alpha.11](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.10...v2.1.0-alpha.11) (2024-05-02)
194
+
195
+
196
+ ### Features
197
+
198
+ * **GVTY-1050:** add account token balances hook ([#5521](https://github.com/dynamic-labs/DynamicAuth/issues/5521)) ([5a6f937](https://github.com/dynamic-labs/DynamicAuth/commit/5a6f93733019f3b8d5c7a2c7a5537172a1e7eba4))
199
+ * headless reveal embedded wallet key ([#5518](https://github.com/dynamic-labs/DynamicAuth/issues/5518)) ([77c1536](https://github.com/dynamic-labs/DynamicAuth/commit/77c15360b2b28c52cbdeafb3ce8ca7e80dbecf57))
200
+
201
+
202
+ ### Bug Fixes
203
+
204
+ * fallback to walletconnect for zerion on mobile ([#5536](https://github.com/dynamic-labs/DynamicAuth/issues/5536)) ([f0e5bfe](https://github.com/dynamic-labs/DynamicAuth/commit/f0e5bfea0b2ab271fd4c1475c8ce708ecb1a5926))
205
+
206
+ ## [2.1.0-alpha.10](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.9...v2.1.0-alpha.10) (2024-04-30)
207
+
208
+
209
+ ### Features
210
+
211
+ * bump @coinbase/wallet-sdk to latest beta ([#5388](https://github.com/dynamic-labs/DynamicAuth/issues/5388)) ([9225546](https://github.com/dynamic-labs/DynamicAuth/commit/922554630ccf2ef98bc297521309918f922bc671))
212
+
213
+ ## [2.1.0-alpha.9](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.8...v2.1.0-alpha.9) (2024-04-30)
214
+
215
+
216
+ ### Features
217
+
218
+ * headless create embedded wallet with optional passkey data parameter ([#5487](https://github.com/dynamic-labs/DynamicAuth/issues/5487)) ([891c3d7](https://github.com/dynamic-labs/DynamicAuth/commit/891c3d77a02a019140bcb8dd03b62b1afd69710e))
219
+
220
+ ## [2.1.0-alpha.8](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.7...v2.1.0-alpha.8) (2024-04-26)
221
+
222
+
223
+ ### Bug Fixes
224
+
225
+ * display wallet tabs when linking a wallet ([#5491](https://github.com/dynamic-labs/DynamicAuth/issues/5491)) ([10fd6b4](https://github.com/dynamic-labs/DynamicAuth/commit/10fd6b4d9aec7596338c50e17f79f6be534cf2c1))
226
+ * ensure zerodev viem client handles eth_accounts call ([#5477](https://github.com/dynamic-labs/DynamicAuth/issues/5477)) ([1132e1e](https://github.com/dynamic-labs/DynamicAuth/commit/1132e1e8655b58e81cb56789453ba56a059f52ec))
227
+ * network with keplr ([#5485](https://github.com/dynamic-labs/DynamicAuth/issues/5485)) ([b86f2fc](https://github.com/dynamic-labs/DynamicAuth/commit/b86f2fce491f9752e80a86643916da9ac7fb9276))
228
+ * refetch nameservice data and display properly ([#5476](https://github.com/dynamic-labs/DynamicAuth/issues/5476)) ([2aee798](https://github.com/dynamic-labs/DynamicAuth/commit/2aee798846f69496201bec7aa52e7ec1f370b7c3))
229
+ * use embeddedWallet create response authToken in embeddedWalletCreated ([#5478](https://github.com/dynamic-labs/DynamicAuth/issues/5478)) ([51772da](https://github.com/dynamic-labs/DynamicAuth/commit/51772daf557a72984c757efd8301e2b510dc37f1))
230
+
231
+ ## [2.1.0-alpha.7](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.6...v2.1.0-alpha.7) (2024-04-25)
232
+
233
+
234
+ ### Bug Fixes
235
+
236
+ * restore embedded wallet session iframe element conflict ([#5474](https://github.com/dynamic-labs/DynamicAuth/issues/5474)) ([c157477](https://github.com/dynamic-labs/DynamicAuth/commit/c157477ea126b3130b13b711796bdd06215e7af1))
237
+
238
+ ## [2.1.0-alpha.6](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.5...v2.1.0-alpha.6) (2024-04-24)
239
+
240
+
241
+ ### Bug Fixes
242
+
243
+ * embedded wallets headless session control fixes ([#5469](https://github.com/dynamic-labs/DynamicAuth/issues/5469)) ([92e6c35](https://github.com/dynamic-labs/DynamicAuth/commit/92e6c359d2710fd4f5f5a6fedc4acf6c4bab78ba))
244
+
245
+ ## [2.1.0-alpha.5](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.4...v2.1.0-alpha.5) (2024-04-23)
246
+
247
+
248
+ ### Bug Fixes
249
+
250
+ * get embedded wallet checking the wrong chain enum ([#5458](https://github.com/dynamic-labs/DynamicAuth/issues/5458)) ([ed1c523](https://github.com/dynamic-labs/DynamicAuth/commit/ed1c523ca14cd4d21c00181ab40802f876c02b80))
251
+
252
+ ## [2.1.0-alpha.4](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.3...v2.1.0-alpha.4) (2024-04-23)
253
+
254
+
255
+ ### Features
256
+
257
+ * add email and sms to client auth module ([#5436](https://github.com/dynamic-labs/DynamicAuth/issues/5436)) ([5420476](https://github.com/dynamic-labs/DynamicAuth/commit/5420476d1ba38fd4f987f28e9aefbfb3e61ea2bf))
258
+ * headless create passkeys for embedded wallets ([#5395](https://github.com/dynamic-labs/DynamicAuth/issues/5395)) ([0b64099](https://github.com/dynamic-labs/DynamicAuth/commit/0b6409968457f65886248f0a0879e39ec3803fd0))
259
+
260
+
261
+ ### Bug Fixes
262
+
263
+ * prevent wagmi from reconnect when DynamicContextProvider rerender ([#5446](https://github.com/dynamic-labs/DynamicAuth/issues/5446)) ([33337af](https://github.com/dynamic-labs/DynamicAuth/commit/33337af76786963cb3db7fa7c58c1292c529d0ac))
264
+
2
265
  ## [2.1.0-alpha.3](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.2...v2.1.0-alpha.3) (2024-04-23)
3
266
 
4
267
 
@@ -0,0 +1,36 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ /******************************************************************************
7
+ Copyright (c) Microsoft Corporation.
8
+
9
+ Permission to use, copy, modify, and/or distribute this software for any
10
+ purpose with or without fee is hereby granted.
11
+
12
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
13
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
14
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
15
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
16
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
17
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
18
+ PERFORMANCE OF THIS SOFTWARE.
19
+ ***************************************************************************** */
20
+
21
+ function __awaiter(thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ }
30
+
31
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
32
+ var e = new Error(message);
33
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
34
+ };
35
+
36
+ exports.__awaiter = __awaiter;
@@ -0,0 +1,32 @@
1
+ 'use client'
2
+ /******************************************************************************
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
15
+ ***************************************************************************** */
16
+
17
+ function __awaiter(thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ }
26
+
27
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
28
+ var e = new Error(message);
29
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
30
+ };
31
+
32
+ export { __awaiter };
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@dynamic-labs/logger",
3
- "version": "2.1.0-alpha.3",
3
+ "version": "2.1.0-alpha.31",
4
4
  "repository": {
5
5
  "type": "git",
6
- "url": "https://github.com/dynamic-labs/DynamicAuth.git",
6
+ "url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
7
7
  "directory": "packages/logger"
8
8
  },
9
9
  "description": "A simple client side logging library used in Dynamic SDK",
@@ -24,5 +24,8 @@
24
24
  "require": "./src/index.cjs"
25
25
  },
26
26
  "./package.json": "./package.json"
27
+ },
28
+ "peerDependencies": {
29
+ "eventemitter3": "5.0.1"
27
30
  }
28
31
  }
package/src/index.cjs CHANGED
@@ -3,28 +3,61 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
+ var _tslib = require('../_virtual/_tslib.cjs');
7
+ var EventEmitter = require('eventemitter3');
8
+ var types = require('./types.cjs');
9
+ var deepMerge = require('./utils/deepMerge.cjs');
10
+ var processArgs = require('./utils/processArgs.cjs');
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var EventEmitter__default = /*#__PURE__*/_interopDefaultLegacy(EventEmitter);
15
+
6
16
  /* eslint-disable @typescript-eslint/no-explicit-any, no-console */
7
- exports.LogLevel = void 0;
8
- (function (LogLevel) {
9
- LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
10
- LogLevel[LogLevel["INFO"] = 1] = "INFO";
11
- LogLevel[LogLevel["WARN"] = 2] = "WARN";
12
- LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
13
- LogLevel[LogLevel["MUTE"] = 99] = "MUTE";
14
- })(exports.LogLevel || (exports.LogLevel = {}));
17
+ const IGNORE_MESSAGES = ['Failed to send logs to server'];
18
+ const messageQueue = [];
15
19
  class Logger {
16
20
  constructor(name, level) {
17
21
  this.name = name;
22
+ this.meta = undefined;
18
23
  if (level === undefined && process.env['NODE_ENV'] !== 'production') {
19
- this.level = exports.LogLevel.DEBUG;
24
+ this.level = types.LogLevel.DEBUG;
20
25
  }
21
26
  else if (level === undefined) {
22
- this.level = exports.LogLevel.WARN;
27
+ this.level = types.LogLevel.WARN;
23
28
  }
24
29
  else {
25
30
  this.level = level;
26
31
  }
27
32
  }
33
+ static setEmitErrors(emit) {
34
+ if (emit !== undefined) {
35
+ Logger.globalKeys.emitErrors = emit;
36
+ }
37
+ }
38
+ static setEnvironmentId(environmentId) {
39
+ if (environmentId !== undefined) {
40
+ Logger.globalKeys.environmentId = environmentId;
41
+ }
42
+ }
43
+ setMetaData(key, value) {
44
+ if (!this.meta) {
45
+ this.meta = {};
46
+ }
47
+ const data = {};
48
+ key.split('.').reduce((acc, k, i, arr) => {
49
+ if (i === arr.length - 1) {
50
+ acc[k] = value;
51
+ }
52
+ else {
53
+ if (!acc[k]) {
54
+ acc[k] = {};
55
+ }
56
+ return acc[k];
57
+ }
58
+ }, data);
59
+ this.meta = deepMerge.deepMerge(this.meta, data);
60
+ }
28
61
  getNameArray(name) {
29
62
  return Array.isArray(name) ? name : [name];
30
63
  }
@@ -32,13 +65,13 @@ class Logger {
32
65
  return new Logger([...this.getNameArray(this.name), ...this.getNameArray(name)], level !== null && level !== void 0 ? level : this.level);
33
66
  }
34
67
  get logLevel() {
35
- return exports.LogLevel[this.level];
68
+ return types.LogLevel[this.level];
36
69
  }
37
70
  setLogLevel(level) {
38
- if (level in exports.LogLevel && typeof level === 'string') {
39
- this.level = exports.LogLevel[level];
71
+ if (level in types.LogLevel && typeof level === 'string') {
72
+ this.level = types.LogLevel[level];
40
73
  }
41
- else if (level in exports.LogLevel && typeof level === 'number') {
74
+ else if (level in types.LogLevel && typeof level === 'number') {
42
75
  this.level = level;
43
76
  }
44
77
  else {
@@ -59,36 +92,109 @@ class Logger {
59
92
  message = JSON.stringify(message);
60
93
  }
61
94
  const names = (Array.isArray(this.name) ? this.name : [this.name]).map((name) => `[${name}]`);
62
- return `${names.join('')} [${exports.LogLevel[level]}]: ${message}`;
95
+ return `${names.join('')} [${types.LogLevel[level]}]: ${message}`;
96
+ }
97
+ captureAndSend(level, message, ...args) {
98
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
99
+ if (Logger.globalKeys.emitErrors &&
100
+ !IGNORE_MESSAGES.includes(message === null || message === void 0 ? void 0 : message.toString()) &&
101
+ typeof window !== 'undefined') {
102
+ this.emitHttpLogs(level, message, ...args);
103
+ }
104
+ });
105
+ }
106
+ emitHttpLogs(level, message, ...args) {
107
+ messageQueue.push({ args, level, message });
108
+ if (messageQueue.length === 1) {
109
+ /**
110
+ * Batching the logs to send them in a single request
111
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTML_DOM_API/Microtask_guide#batching_operations
112
+ *
113
+ * Essentially, multiple calls to log in the same event loop will be batched into a single request
114
+ */
115
+ queueMicrotask(() => _tslib.__awaiter(this, void 0, void 0, function* () {
116
+ var _a, _b;
117
+ const messages = [];
118
+ messageQueue.forEach((msg) => {
119
+ var _a, _b, _c, _d, _e;
120
+ const body = {};
121
+ const { objectArgs, remainingArgs } = processArgs.processArgs(msg);
122
+ Object.assign(body, ...objectArgs);
123
+ Object.assign(body, {
124
+ level: types.LogLevel[msg.level],
125
+ message: [msg.message, ...remainingArgs].join(' '),
126
+ meta: this.meta,
127
+ url: {
128
+ hostname: (_a = window.location) === null || _a === void 0 ? void 0 : _a.hostname,
129
+ origin: (_b = window.location) === null || _b === void 0 ? void 0 : _b.origin,
130
+ pathname: (_c = window.location) === null || _c === void 0 ? void 0 : _c.pathname,
131
+ port: (_d = window.location) === null || _d === void 0 ? void 0 : _d.port,
132
+ protocol: (_e = window.location) === null || _e === void 0 ? void 0 : _e.protocol,
133
+ },
134
+ });
135
+ messages.push(body);
136
+ });
137
+ try {
138
+ if (!((_a = Logger.globalKeys) === null || _a === void 0 ? void 0 : _a.environmentId)) {
139
+ throw new Error('Environment ID not set');
140
+ }
141
+ yield fetch(`https://logs.dynamicauth.com/api/v1/${(_b = Logger.globalKeys) === null || _b === void 0 ? void 0 : _b.environmentId}`, {
142
+ body: JSON.stringify(messages),
143
+ headers: {
144
+ 'Content-Type': 'application/json',
145
+ },
146
+ method: 'POST',
147
+ mode: 'cors',
148
+ referrerPolicy: 'origin-when-cross-origin',
149
+ });
150
+ }
151
+ catch (error) {
152
+ this.debug('Failed to send logs to server', error);
153
+ }
154
+ messageQueue.length = 0;
155
+ }));
156
+ }
63
157
  }
64
158
  log(level, message, ...args) {
65
- if (level < this.level || level === exports.LogLevel.MUTE) {
159
+ if (level < this.level || level === types.LogLevel.MUTE) {
66
160
  return;
67
161
  }
68
162
  const fmtMsg = this.formatMessage(level, message);
69
163
  switch (level) {
70
- case exports.LogLevel.WARN:
164
+ case types.LogLevel.WARN:
71
165
  console.warn(fmtMsg, ...args);
72
166
  break;
73
- case exports.LogLevel.ERROR:
167
+ case types.LogLevel.ERROR:
74
168
  console.error(fmtMsg, ...args);
75
169
  break;
76
170
  default:
77
171
  console.log(fmtMsg, ...args);
78
172
  }
173
+ if (level === types.LogLevel.ERROR) {
174
+ this.captureAndSend(level, message, ...args);
175
+ }
79
176
  }
80
177
  debug(message, ...args) {
81
- this.log(exports.LogLevel.DEBUG, message, ...args);
178
+ this.log(types.LogLevel.DEBUG, message, ...args);
82
179
  }
83
180
  info(message, ...args) {
84
- this.log(exports.LogLevel.INFO, message, ...args);
181
+ this.log(types.LogLevel.INFO, message, ...args);
85
182
  }
86
183
  warn(message, ...args) {
87
- this.log(exports.LogLevel.WARN, message, ...args);
184
+ this.log(types.LogLevel.WARN, message, ...args);
88
185
  }
89
186
  error(message, ...args) {
90
- this.log(exports.LogLevel.ERROR, message, ...args);
187
+ Logger.events.emit('error', message);
188
+ this.log(types.LogLevel.ERROR, message, ...args);
91
189
  }
92
190
  }
191
+ Logger.globalKeys = {
192
+ emitErrors: true,
193
+ };
194
+ Logger.events = new EventEmitter__default["default"]();
93
195
 
196
+ Object.defineProperty(exports, 'LogLevel', {
197
+ enumerable: true,
198
+ get: function () { return types.LogLevel; }
199
+ });
94
200
  exports.Logger = Logger;
package/src/index.d.ts CHANGED
@@ -1,24 +1,28 @@
1
- export declare enum LogLevel {
2
- DEBUG = 0,
3
- INFO = 1,
4
- WARN = 2,
5
- ERROR = 3,
6
- MUTE = 99
7
- }
8
- type Message = string | Error | unknown;
1
+ import EventEmitter from 'eventemitter3';
2
+ import { LogLevel, Message } from './types';
3
+ export { LogLevel } from './types';
9
4
  export declare class Logger {
10
5
  private name;
11
6
  private level;
7
+ private static globalKeys;
8
+ private meta;
12
9
  constructor(name: string | string[], level?: LogLevel);
10
+ static setEmitErrors(emit?: boolean): void;
11
+ static setEnvironmentId(environmentId?: string): void;
12
+ static events: EventEmitter<{
13
+ error: Message;
14
+ }, any>;
15
+ setMetaData(key: string, value: any): void;
13
16
  private getNameArray;
14
17
  createLogger(name: string | string[], level?: LogLevel): Logger;
15
18
  get logLevel(): string;
16
19
  setLogLevel(level: LogLevel | keyof typeof LogLevel): void;
17
20
  private formatMessage;
21
+ private captureAndSend;
22
+ private emitHttpLogs;
18
23
  log(level: LogLevel, message: Message, ...args: any[]): void;
19
24
  debug(message: Message, ...args: any[]): void;
20
25
  info(message: Message, ...args: any[]): void;
21
26
  warn(message: Message, ...args: any[]): void;
22
27
  error(message: Message, ...args: any[]): void;
23
28
  }
24
- export {};
package/src/index.js CHANGED
@@ -1,16 +1,18 @@
1
1
  'use client'
2
+ import { __awaiter } from '../_virtual/_tslib.js';
3
+ import EventEmitter from 'eventemitter3';
4
+ import { LogLevel } from './types.js';
5
+ export { LogLevel } from './types.js';
6
+ import { deepMerge } from './utils/deepMerge.js';
7
+ import { processArgs } from './utils/processArgs.js';
8
+
2
9
  /* eslint-disable @typescript-eslint/no-explicit-any, no-console */
3
- var LogLevel;
4
- (function (LogLevel) {
5
- LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
6
- LogLevel[LogLevel["INFO"] = 1] = "INFO";
7
- LogLevel[LogLevel["WARN"] = 2] = "WARN";
8
- LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
9
- LogLevel[LogLevel["MUTE"] = 99] = "MUTE";
10
- })(LogLevel || (LogLevel = {}));
10
+ const IGNORE_MESSAGES = ['Failed to send logs to server'];
11
+ const messageQueue = [];
11
12
  class Logger {
12
13
  constructor(name, level) {
13
14
  this.name = name;
15
+ this.meta = undefined;
14
16
  if (level === undefined && process.env['NODE_ENV'] !== 'production') {
15
17
  this.level = LogLevel.DEBUG;
16
18
  }
@@ -21,6 +23,34 @@ class Logger {
21
23
  this.level = level;
22
24
  }
23
25
  }
26
+ static setEmitErrors(emit) {
27
+ if (emit !== undefined) {
28
+ Logger.globalKeys.emitErrors = emit;
29
+ }
30
+ }
31
+ static setEnvironmentId(environmentId) {
32
+ if (environmentId !== undefined) {
33
+ Logger.globalKeys.environmentId = environmentId;
34
+ }
35
+ }
36
+ setMetaData(key, value) {
37
+ if (!this.meta) {
38
+ this.meta = {};
39
+ }
40
+ const data = {};
41
+ key.split('.').reduce((acc, k, i, arr) => {
42
+ if (i === arr.length - 1) {
43
+ acc[k] = value;
44
+ }
45
+ else {
46
+ if (!acc[k]) {
47
+ acc[k] = {};
48
+ }
49
+ return acc[k];
50
+ }
51
+ }, data);
52
+ this.meta = deepMerge(this.meta, data);
53
+ }
24
54
  getNameArray(name) {
25
55
  return Array.isArray(name) ? name : [name];
26
56
  }
@@ -57,6 +87,67 @@ class Logger {
57
87
  const names = (Array.isArray(this.name) ? this.name : [this.name]).map((name) => `[${name}]`);
58
88
  return `${names.join('')} [${LogLevel[level]}]: ${message}`;
59
89
  }
90
+ captureAndSend(level, message, ...args) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ if (Logger.globalKeys.emitErrors &&
93
+ !IGNORE_MESSAGES.includes(message === null || message === void 0 ? void 0 : message.toString()) &&
94
+ typeof window !== 'undefined') {
95
+ this.emitHttpLogs(level, message, ...args);
96
+ }
97
+ });
98
+ }
99
+ emitHttpLogs(level, message, ...args) {
100
+ messageQueue.push({ args, level, message });
101
+ if (messageQueue.length === 1) {
102
+ /**
103
+ * Batching the logs to send them in a single request
104
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTML_DOM_API/Microtask_guide#batching_operations
105
+ *
106
+ * Essentially, multiple calls to log in the same event loop will be batched into a single request
107
+ */
108
+ queueMicrotask(() => __awaiter(this, void 0, void 0, function* () {
109
+ var _a, _b;
110
+ const messages = [];
111
+ messageQueue.forEach((msg) => {
112
+ var _a, _b, _c, _d, _e;
113
+ const body = {};
114
+ const { objectArgs, remainingArgs } = processArgs(msg);
115
+ Object.assign(body, ...objectArgs);
116
+ Object.assign(body, {
117
+ level: LogLevel[msg.level],
118
+ message: [msg.message, ...remainingArgs].join(' '),
119
+ meta: this.meta,
120
+ url: {
121
+ hostname: (_a = window.location) === null || _a === void 0 ? void 0 : _a.hostname,
122
+ origin: (_b = window.location) === null || _b === void 0 ? void 0 : _b.origin,
123
+ pathname: (_c = window.location) === null || _c === void 0 ? void 0 : _c.pathname,
124
+ port: (_d = window.location) === null || _d === void 0 ? void 0 : _d.port,
125
+ protocol: (_e = window.location) === null || _e === void 0 ? void 0 : _e.protocol,
126
+ },
127
+ });
128
+ messages.push(body);
129
+ });
130
+ try {
131
+ if (!((_a = Logger.globalKeys) === null || _a === void 0 ? void 0 : _a.environmentId)) {
132
+ throw new Error('Environment ID not set');
133
+ }
134
+ yield fetch(`https://logs.dynamicauth.com/api/v1/${(_b = Logger.globalKeys) === null || _b === void 0 ? void 0 : _b.environmentId}`, {
135
+ body: JSON.stringify(messages),
136
+ headers: {
137
+ 'Content-Type': 'application/json',
138
+ },
139
+ method: 'POST',
140
+ mode: 'cors',
141
+ referrerPolicy: 'origin-when-cross-origin',
142
+ });
143
+ }
144
+ catch (error) {
145
+ this.debug('Failed to send logs to server', error);
146
+ }
147
+ messageQueue.length = 0;
148
+ }));
149
+ }
150
+ }
60
151
  log(level, message, ...args) {
61
152
  if (level < this.level || level === LogLevel.MUTE) {
62
153
  return;
@@ -72,6 +163,9 @@ class Logger {
72
163
  default:
73
164
  console.log(fmtMsg, ...args);
74
165
  }
166
+ if (level === LogLevel.ERROR) {
167
+ this.captureAndSend(level, message, ...args);
168
+ }
75
169
  }
76
170
  debug(message, ...args) {
77
171
  this.log(LogLevel.DEBUG, message, ...args);
@@ -83,8 +177,13 @@ class Logger {
83
177
  this.log(LogLevel.WARN, message, ...args);
84
178
  }
85
179
  error(message, ...args) {
180
+ Logger.events.emit('error', message);
86
181
  this.log(LogLevel.ERROR, message, ...args);
87
182
  }
88
183
  }
184
+ Logger.globalKeys = {
185
+ emitErrors: true,
186
+ };
187
+ Logger.events = new EventEmitter();
89
188
 
90
- export { LogLevel, Logger };
189
+ export { Logger };
package/src/types.cjs ADDED
@@ -0,0 +1,13 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ exports.LogLevel = void 0;
7
+ (function (LogLevel) {
8
+ LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
9
+ LogLevel[LogLevel["INFO"] = 1] = "INFO";
10
+ LogLevel[LogLevel["WARN"] = 2] = "WARN";
11
+ LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
12
+ LogLevel[LogLevel["MUTE"] = 99] = "MUTE";
13
+ })(exports.LogLevel || (exports.LogLevel = {}));
package/src/types.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ export declare enum LogLevel {
2
+ DEBUG = 0,
3
+ INFO = 1,
4
+ WARN = 2,
5
+ ERROR = 3,
6
+ MUTE = 99
7
+ }
8
+ export type Message = string | Error | unknown;
9
+ export type MessageQueueMessage = {
10
+ level: LogLevel;
11
+ message: Message;
12
+ args: any[];
13
+ };
package/src/types.js ADDED
@@ -0,0 +1,11 @@
1
+ 'use client'
2
+ var LogLevel;
3
+ (function (LogLevel) {
4
+ LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
5
+ LogLevel[LogLevel["INFO"] = 1] = "INFO";
6
+ LogLevel[LogLevel["WARN"] = 2] = "WARN";
7
+ LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
8
+ LogLevel[LogLevel["MUTE"] = 99] = "MUTE";
9
+ })(LogLevel || (LogLevel = {}));
10
+
11
+ export { LogLevel };
@@ -0,0 +1,57 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ const deepMerge = (obj1, obj2) => {
7
+ if (typeof obj1 !== 'object' || typeof obj2 !== 'object') {
8
+ // If either obj1 or obj2 is not an object, return obj1
9
+ return obj2;
10
+ }
11
+ // Create a new object to store the merged result
12
+ const result = Object.assign({}, obj1);
13
+ for (const key in obj2) {
14
+ if (Object.prototype.hasOwnProperty.call(obj2, key)) {
15
+ if (typeof obj2[key] === 'object' &&
16
+ Object.prototype.hasOwnProperty.call(obj1, key) &&
17
+ typeof obj1[key] === 'object') {
18
+ // If both obj1 and obj2 have objects with the same key, recursively merge them
19
+ result[key] = deepMerge(obj1[key], obj2[key]);
20
+ }
21
+ else {
22
+ // Otherwise, simply assign the value from obj2 to the result
23
+ result[key] = obj2[key];
24
+ }
25
+ }
26
+ }
27
+ return result;
28
+ };
29
+ // Example usage:
30
+ //
31
+ // const obj1 = {
32
+ // a: 1,
33
+ // b: {
34
+ // c: 2,
35
+ // d: 3,
36
+ // },
37
+ // };
38
+ //
39
+ // const obj2 = {
40
+ // a: 4,
41
+ // b: {
42
+ // c: 5,
43
+ // },
44
+ // e: 6,
45
+ // };
46
+ //
47
+ // const result = {
48
+ // a: 4,
49
+ // b: {
50
+ // c: 5,
51
+ // d: 3,
52
+ // },
53
+ // e: 6,
54
+ // };
55
+ //
56
+
57
+ exports.deepMerge = deepMerge;
@@ -0,0 +1 @@
1
+ export declare const deepMerge: <T>(obj1: any, obj2: any) => T;
@@ -0,0 +1,53 @@
1
+ 'use client'
2
+ const deepMerge = (obj1, obj2) => {
3
+ if (typeof obj1 !== 'object' || typeof obj2 !== 'object') {
4
+ // If either obj1 or obj2 is not an object, return obj1
5
+ return obj2;
6
+ }
7
+ // Create a new object to store the merged result
8
+ const result = Object.assign({}, obj1);
9
+ for (const key in obj2) {
10
+ if (Object.prototype.hasOwnProperty.call(obj2, key)) {
11
+ if (typeof obj2[key] === 'object' &&
12
+ Object.prototype.hasOwnProperty.call(obj1, key) &&
13
+ typeof obj1[key] === 'object') {
14
+ // If both obj1 and obj2 have objects with the same key, recursively merge them
15
+ result[key] = deepMerge(obj1[key], obj2[key]);
16
+ }
17
+ else {
18
+ // Otherwise, simply assign the value from obj2 to the result
19
+ result[key] = obj2[key];
20
+ }
21
+ }
22
+ }
23
+ return result;
24
+ };
25
+ // Example usage:
26
+ //
27
+ // const obj1 = {
28
+ // a: 1,
29
+ // b: {
30
+ // c: 2,
31
+ // d: 3,
32
+ // },
33
+ // };
34
+ //
35
+ // const obj2 = {
36
+ // a: 4,
37
+ // b: {
38
+ // c: 5,
39
+ // },
40
+ // e: 6,
41
+ // };
42
+ //
43
+ // const result = {
44
+ // a: 4,
45
+ // b: {
46
+ // c: 5,
47
+ // d: 3,
48
+ // },
49
+ // e: 6,
50
+ // };
51
+ //
52
+
53
+ export { deepMerge };
@@ -0,0 +1,21 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ /**
7
+ * Split args into object and non-object args
8
+ * @param message
9
+ * @returns
10
+ */
11
+ const processArgs = (message) => {
12
+ // Apply object args to body
13
+ const objectArgs = message.args.filter((arg) => typeof arg === 'object');
14
+ // Capture remaining non-object args
15
+ const remainingArgs = message.args
16
+ .filter((arg) => typeof arg !== 'object' || arg instanceof Error)
17
+ .map((arg) => arg.toString());
18
+ return { objectArgs, remainingArgs };
19
+ };
20
+
21
+ exports.processArgs = processArgs;
@@ -0,0 +1,10 @@
1
+ import { MessageQueueMessage } from '../types';
2
+ /**
3
+ * Split args into object and non-object args
4
+ * @param message
5
+ * @returns
6
+ */
7
+ export declare const processArgs: (message: MessageQueueMessage) => {
8
+ objectArgs: any[];
9
+ remainingArgs: any[];
10
+ };
@@ -0,0 +1,17 @@
1
+ 'use client'
2
+ /**
3
+ * Split args into object and non-object args
4
+ * @param message
5
+ * @returns
6
+ */
7
+ const processArgs = (message) => {
8
+ // Apply object args to body
9
+ const objectArgs = message.args.filter((arg) => typeof arg === 'object');
10
+ // Capture remaining non-object args
11
+ const remainingArgs = message.args
12
+ .filter((arg) => typeof arg !== 'object' || arg instanceof Error)
13
+ .map((arg) => arg.toString());
14
+ return { objectArgs, remainingArgs };
15
+ };
16
+
17
+ export { processArgs };