@leather.io/analytics 3.15.8 → 3.16.1

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/index.d.ts CHANGED
@@ -1,357 +1,415 @@
1
- import { DefaultNetworkConfigurations, StxBalance, CryptoAssetProtocol } from '@leather.io/models';
1
+ import { CryptoAssetProtocol, DefaultNetworkConfigurations, StxBalance } from "@leather.io/models";
2
2
 
3
+ //#region src/events.d.ts
3
4
  interface Events extends HistoricalEvents {
4
- balance_updated: {
5
- walletAccountId: string;
6
- platform: 'mobile' | 'extension';
7
- stxAvailableBalance: number;
8
- stxLockedBalance: number;
9
- usdBalance: number;
10
- btcBalance: number;
11
- };
12
- user_setting_updated: UserSettingValue;
13
- wallet_created: WalletCreatedValue;
14
- wallet_restored: WalletCreatedValue;
15
- app_unlocked: undefined;
16
- app_locked: undefined;
17
- submit_feature_waitlist: SubmitWaitlist;
18
- legacy_request_initiated: {
19
- method: string;
20
- };
21
- application_first_opened: {
22
- timestamp: string;
23
- };
24
- pooled_stacking_started: {
25
- amount: number;
26
- provider: string;
27
- poolAddress: string;
28
- delegationDurationType?: string;
29
- numberOfCycles: number;
30
- };
31
- liquid_stacking_started: {
32
- amount: number;
33
- provider?: string;
34
- };
35
- liquid_stacking_increased: {
36
- amount: number;
37
- };
38
- stx_balance_updated: StxBalance;
39
- in_app_browser_opened: {
40
- url: string;
41
- };
42
- add_wallet_sheet_opened: undefined;
43
- browser_sheet_opened: undefined;
44
- send_sheet_opened: {
45
- asset?: string;
46
- };
47
- send_sheet_dismissed: undefined;
48
- swap_sheet_opened: {
49
- asset?: string;
50
- };
51
- swap_sheet_dismissed: undefined;
52
- receive_sheet_opened: {
53
- type: string;
54
- };
55
- receive_sheet_dismissed: undefined;
56
- send_asset_selected: {
57
- asset?: string;
58
- };
59
- send_account_selected: undefined;
60
- send_back_button_pressed: {
61
- screen: string;
62
- };
63
- send_inline_asset_picker_opened: undefined;
64
- send_max_selected: undefined;
65
- send_amount_entered: {
66
- amount: string;
67
- };
68
- send_recipient_sheet_opened: undefined;
69
- send_recipient_selected: {
70
- type: 'internal' | 'external';
71
- };
72
- send_qr_scanner_opened: {
73
- source: 'toggle' | 'input';
74
- };
75
- send_transaction_review_initiated: {
76
- asset: string;
77
- amount: number;
78
- };
79
- token_details_opened: {
80
- assetId: string;
81
- source: 'all_account_balances' | 'account_balances';
82
- };
83
- receive_address_copied: {
84
- asset: string;
85
- location: string;
86
- };
87
- receive_share_button_pressed: {
88
- asset: string;
89
- };
90
- token_portfolio_summary: TokenPortfolioSummary;
91
- collectibles_summary: CollectiblesSummary;
92
- token_details_viewed: TokenCollectibleDetailsViewed;
93
- collectible_details_viewed: TokenCollectibleDetailsViewed;
5
+ balance_updated: {
6
+ walletAccountId: string;
7
+ platform: 'mobile' | 'extension';
8
+ stxAvailableBalance: number;
9
+ stxLockedBalance: number;
10
+ usdBalance: number;
11
+ btcBalance: number;
12
+ };
13
+ user_setting_updated: UserSettingValue;
14
+ wallet_created: WalletCreatedValue;
15
+ wallet_restored: WalletCreatedValue;
16
+ app_unlocked: undefined;
17
+ app_locked: undefined;
18
+ submit_feature_waitlist: SubmitWaitlist;
19
+ legacy_request_initiated: {
20
+ method: string;
21
+ };
22
+ application_first_opened: {
23
+ timestamp: string;
24
+ };
25
+ pooled_stacking_started: {
26
+ amount: number;
27
+ provider: string;
28
+ poolAddress: string;
29
+ delegationDurationType?: string;
30
+ numberOfCycles: number;
31
+ };
32
+ liquid_stacking_started: {
33
+ amount: number;
34
+ provider?: string;
35
+ };
36
+ liquid_stacking_increased: {
37
+ amount: number;
38
+ };
39
+ stx_balance_updated: StxBalance;
40
+ in_app_browser_opened: {
41
+ url: string;
42
+ };
43
+ add_wallet_sheet_opened: undefined;
44
+ browser_sheet_opened: undefined;
45
+ send_sheet_opened: {
46
+ asset?: string;
47
+ };
48
+ send_sheet_dismissed: undefined;
49
+ swap_sheet_opened: {
50
+ asset?: string;
51
+ };
52
+ swap_sheet_dismissed: undefined;
53
+ swap_base_asset_selected: {
54
+ symbol: string;
55
+ protocol: string;
56
+ };
57
+ swap_target_asset_selected: {
58
+ symbol: string;
59
+ protocol: string;
60
+ };
61
+ swap_amount_preset_selected: {
62
+ preset: '25%' | '50%' | '75%' | 'max';
63
+ };
64
+ swap_assets_flipped: undefined;
65
+ swap_currency_mode_toggled: {
66
+ mode: 'crypto' | 'quote';
67
+ };
68
+ swap_slippage_changed: {
69
+ slippage: number;
70
+ };
71
+ swap_fee_tier_selected: {
72
+ tier: string;
73
+ };
74
+ swap_custom_fee_entered: {
75
+ fee: number;
76
+ };
77
+ swap_review_initiated: {
78
+ baseSymbol: string;
79
+ targetSymbol: string;
80
+ baseAmount: number;
81
+ provider: string;
82
+ };
83
+ swap_execution_started: {
84
+ baseSymbol: string;
85
+ targetSymbol: string;
86
+ baseAmount: number;
87
+ targetAmount: number;
88
+ provider: string;
89
+ };
90
+ swap_execution_success: {
91
+ baseSymbol: string;
92
+ targetSymbol: string;
93
+ baseAmount: number;
94
+ targetAmount: number;
95
+ provider: string;
96
+ };
97
+ swap_execution_failure: {
98
+ baseSymbol: string;
99
+ targetSymbol: string;
100
+ errorMessage: string;
101
+ provider: string;
102
+ };
103
+ receive_sheet_opened: {
104
+ type: string;
105
+ };
106
+ receive_sheet_dismissed: undefined;
107
+ send_asset_selected: {
108
+ asset?: string;
109
+ };
110
+ send_account_selected: undefined;
111
+ send_back_button_pressed: {
112
+ screen: string;
113
+ };
114
+ send_inline_asset_picker_opened: undefined;
115
+ send_max_selected: undefined;
116
+ send_amount_entered: {
117
+ amount: string;
118
+ };
119
+ send_recipient_sheet_opened: undefined;
120
+ send_recipient_selected: {
121
+ type: 'internal' | 'external';
122
+ };
123
+ send_qr_scanner_opened: {
124
+ source: 'toggle' | 'input';
125
+ };
126
+ send_transaction_review_initiated: {
127
+ asset: string;
128
+ amount: number;
129
+ };
130
+ token_details_opened: {
131
+ assetId: string;
132
+ source: 'all_account_balances' | 'account_balances';
133
+ };
134
+ receive_address_copied: {
135
+ asset: string;
136
+ location: string;
137
+ };
138
+ receive_share_button_pressed: {
139
+ asset: string;
140
+ };
141
+ token_portfolio_summary: TokenPortfolioSummary;
142
+ collectibles_summary: CollectiblesSummary;
143
+ token_details_viewed: TokenCollectibleDetailsViewed;
144
+ collectible_details_viewed: TokenCollectibleDetailsViewed;
94
145
  }
95
146
  interface HistoricalEvents {
96
- add_network: undefined;
97
- bitcoin_rbf_fee_increase_error: {
98
- outputDiff: number;
99
- };
100
- broadcast_retrieve_taproot_to_native_segwit: undefined;
101
- broadcast_ordinal_transaction: undefined;
102
- broadcast_ordinal_error: {
103
- error: any;
104
- };
105
- broadcast_transaction: {
106
- symbol: string;
107
- amount?: number;
108
- fee?: number;
109
- inputs?: number;
110
- outputs?: number;
111
- };
112
- broadcast_btc_error: {
113
- error: any;
114
- };
115
- copy_btc_address_to_clipboard: {
116
- type: string;
117
- };
118
- copy_secret_key_to_clipboard: undefined;
119
- copy_address_to_add_new_inscription: undefined;
120
- copy_stx_address_to_clipboard: undefined;
121
- copy_recipient_bns_address_to_clipboard: undefined;
122
- create_new_account: undefined;
123
- change_network: {
124
- id: string;
125
- };
126
- click_open_in_new_tab_menu_item: undefined;
127
- click_change_network_menu_item: undefined;
128
- click_change_theme_menu_item: undefined;
129
- click_toggle_privacy: undefined;
130
- request_psbt_cancel: undefined;
131
- request_sign_psbt_submit: undefined;
132
- request_update_profile_submit: undefined;
133
- request_update_profile_cancel: undefined;
134
- request_signature_cancel: undefined;
135
- requesting_origin_tab_closed_with_pending_action: undefined;
136
- select_add_new_collectible: undefined;
137
- select_buy_option: {
138
- provider: string;
139
- };
140
- select_theme: {
141
- theme: string;
142
- };
143
- select_inscription_to_add_new_collectible: undefined;
144
- select_maximum_amount_for_send: undefined;
145
- submit_valid_password: undefined;
146
- submit_invalid_password: undefined;
147
- submit_fee_for_transaction: {
148
- calculation: string;
149
- fee: number | string;
150
- type: string;
151
- };
152
- user_approved_send_transfer: {
153
- origin: string;
154
- };
155
- user_approved_sign_and_broadcast_psbt: {
156
- origin: string;
157
- };
158
- user_clicked_feedback_button: undefined;
159
- unable_to_read_fee_in_stx_validator: undefined;
160
- unable_to_read_available_balance_in_stx_validator: undefined;
161
- view_bitcoin_transaction: undefined;
162
- view_transaction: undefined;
163
- view_collectibles: {
164
- ordinals_count?: number;
165
- stamps_count?: number;
166
- stacks_nfts_count?: number;
167
- };
168
- view_rpc_send_transfer_confirmation: {
169
- symbol: string;
170
- };
171
- view_rpc_sign_and_broadcast_psbt_confirmation: {
172
- symbol: string;
173
- };
174
- view_transaction_confirmation: {
175
- symbol: string;
176
- };
177
- view_transaction_signing: undefined;
178
- view_transaction_signing_error: {
179
- reason: string;
180
- };
181
- start_unlock: undefined;
182
- complete_unlock: {
183
- durationMs: number;
184
- };
185
- background_analytics_schema_fail: undefined;
186
- new_brand_reveal_name: undefined;
187
- new_brand_accept_terms: undefined;
188
- new_brand_reject_terms: undefined;
189
- lock_session: undefined;
190
- remove_network: undefined;
191
- generate_new_secret_key: undefined;
192
- bitcoin_contract_error: {
193
- msg: string;
194
- };
195
- ordinals_dot_com_unavailable: {
196
- error: any;
197
- };
198
- schema_fail: {
199
- query: any;
200
- hash: string;
201
- error: string;
202
- };
203
- request_signature_cannot_sign_message_no_account: undefined;
204
- request_signature_sign: {
205
- type: 'software' | 'ledger';
206
- };
207
- switch_account: {
208
- index: number;
209
- hasStxBalance: boolean;
210
- };
211
- non_compliant_entity_detected: {
212
- address: string | string[];
213
- };
214
- ledger_transaction_publish_error: {
215
- error: {
216
- message: string;
217
- error: any;
218
- };
219
- };
220
- native_segwit_tx_hex_to_ledger_tx: {
221
- success: boolean;
222
- };
223
- psbt_sign_request_p2tr_missing_taproot_internal_key: undefined;
224
- ledger_nativesegwit_add_nonwitnessutxo: {
225
- action: 'add_nonwitness_utxo' | 'skip_add_nonwitness_utxo';
226
- };
227
- submit_invalid_secret_key: undefined;
228
- submit_valid_secret_key: undefined;
229
- increase_fee_transaction: {
230
- symbol: string;
231
- txid: string;
232
- };
233
- finalize_tx_signature_error_thrown: {
234
- data: unknown;
235
- };
236
- auth_response_with_illegal_redirect_uri: undefined;
237
- redux_persist_migration_to_no_serialization: undefined;
238
- sign_out: undefined;
239
- ledger_app_version_info: {
240
- info: object;
241
- };
242
- ledger_transaction_signed_approved: undefined;
243
- ledger_transaction_signed_rejected: undefined;
244
- ledger_message_signed_approved: undefined;
245
- ledger_message_signed_rejected: undefined;
246
- ledger_public_keys_pulled_from_device: undefined;
247
- user_clicked_requested_by_link: {
248
- endpoint: string;
249
- };
250
- user_approved_get_addresses: {
251
- origin: string;
252
- };
253
- user_approved_message_signing: {
254
- origin: string;
255
- };
147
+ add_network: undefined;
148
+ bitcoin_rbf_fee_increase_error: {
149
+ outputDiff: number;
150
+ };
151
+ broadcast_retrieve_taproot_to_native_segwit: undefined;
152
+ broadcast_ordinal_transaction: undefined;
153
+ broadcast_ordinal_error: {
154
+ error: any;
155
+ };
156
+ broadcast_transaction: {
157
+ symbol: string;
158
+ amount?: number;
159
+ fee?: number;
160
+ inputs?: number;
161
+ outputs?: number;
162
+ };
163
+ broadcast_btc_error: {
164
+ error: any;
165
+ };
166
+ copy_btc_address_to_clipboard: {
167
+ type: string;
168
+ };
169
+ copy_secret_key_to_clipboard: undefined;
170
+ copy_address_to_add_new_inscription: undefined;
171
+ copy_stx_address_to_clipboard: undefined;
172
+ copy_recipient_bns_address_to_clipboard: undefined;
173
+ create_new_account: undefined;
174
+ change_network: {
175
+ id: string;
176
+ };
177
+ click_open_in_new_tab_menu_item: undefined;
178
+ click_change_network_menu_item: undefined;
179
+ click_change_theme_menu_item: undefined;
180
+ click_toggle_privacy: undefined;
181
+ request_psbt_cancel: undefined;
182
+ request_sign_psbt_submit: undefined;
183
+ request_update_profile_submit: undefined;
184
+ request_update_profile_cancel: undefined;
185
+ request_signature_cancel: undefined;
186
+ requesting_origin_tab_closed_with_pending_action: undefined;
187
+ select_add_new_collectible: undefined;
188
+ select_buy_option: {
189
+ provider: string;
190
+ };
191
+ select_theme: {
192
+ theme: string;
193
+ };
194
+ select_inscription_to_add_new_collectible: undefined;
195
+ select_maximum_amount_for_send: undefined;
196
+ submit_valid_password: undefined;
197
+ submit_invalid_password: undefined;
198
+ submit_fee_for_transaction: {
199
+ calculation: string;
200
+ fee: number | string;
201
+ type: string;
202
+ };
203
+ user_approved_send_transfer: {
204
+ origin: string;
205
+ };
206
+ user_approved_sign_and_broadcast_psbt: {
207
+ origin: string;
208
+ };
209
+ user_clicked_feedback_button: undefined;
210
+ unable_to_read_fee_in_stx_validator: undefined;
211
+ unable_to_read_available_balance_in_stx_validator: undefined;
212
+ view_bitcoin_transaction: undefined;
213
+ view_transaction: undefined;
214
+ view_collectibles: {
215
+ ordinals_count?: number;
216
+ stamps_count?: number;
217
+ stacks_nfts_count?: number;
218
+ };
219
+ view_rpc_send_transfer_confirmation: {
220
+ symbol: string;
221
+ };
222
+ view_rpc_sign_and_broadcast_psbt_confirmation: {
223
+ symbol: string;
224
+ };
225
+ view_transaction_confirmation: {
226
+ symbol: string;
227
+ };
228
+ view_transaction_signing: undefined;
229
+ view_transaction_signing_error: {
230
+ reason: string;
231
+ };
232
+ start_unlock: undefined;
233
+ complete_unlock: {
234
+ durationMs: number;
235
+ };
236
+ background_analytics_schema_fail: undefined;
237
+ new_brand_reveal_name: undefined;
238
+ new_brand_accept_terms: undefined;
239
+ new_brand_reject_terms: undefined;
240
+ lock_session: undefined;
241
+ remove_network: undefined;
242
+ generate_new_secret_key: undefined;
243
+ bitcoin_contract_error: {
244
+ msg: string;
245
+ };
246
+ ordinals_dot_com_unavailable: {
247
+ error: any;
248
+ };
249
+ schema_fail: {
250
+ query: any;
251
+ hash: string;
252
+ error: string;
253
+ };
254
+ request_signature_cannot_sign_message_no_account: undefined;
255
+ request_signature_sign: {
256
+ type: 'software' | 'ledger';
257
+ };
258
+ switch_account: {
259
+ index: number;
260
+ hasStxBalance: boolean;
261
+ };
262
+ non_compliant_entity_detected: {
263
+ address: string | string[];
264
+ };
265
+ ledger_transaction_publish_error: {
266
+ error: {
267
+ message: string;
268
+ error: any;
269
+ };
270
+ };
271
+ native_segwit_tx_hex_to_ledger_tx: {
272
+ success: boolean;
273
+ };
274
+ psbt_sign_request_p2tr_missing_taproot_internal_key: undefined;
275
+ ledger_nativesegwit_add_nonwitnessutxo: {
276
+ action: 'add_nonwitness_utxo' | 'skip_add_nonwitness_utxo';
277
+ };
278
+ submit_invalid_secret_key: undefined;
279
+ submit_valid_secret_key: undefined;
280
+ increase_fee_transaction: {
281
+ symbol: string;
282
+ txid: string;
283
+ };
284
+ finalize_tx_signature_error_thrown: {
285
+ data: unknown;
286
+ };
287
+ auth_response_with_illegal_redirect_uri: undefined;
288
+ redux_persist_migration_to_no_serialization: undefined;
289
+ sign_out: undefined;
290
+ ledger_app_version_info: {
291
+ info: object;
292
+ };
293
+ ledger_transaction_signed_approved: undefined;
294
+ ledger_transaction_signed_rejected: undefined;
295
+ ledger_message_signed_approved: undefined;
296
+ ledger_message_signed_rejected: undefined;
297
+ ledger_public_keys_pulled_from_device: undefined;
298
+ user_clicked_requested_by_link: {
299
+ endpoint: string;
300
+ };
301
+ user_approved_get_addresses: {
302
+ origin: string;
303
+ };
304
+ user_approved_message_signing: {
305
+ origin: string;
306
+ };
256
307
  }
257
308
  type EventName = keyof Events;
258
309
  type UserSettingValue = {
259
- account_display: 'stacks' | 'native-segwit' | 'taproot' | 'bns';
310
+ account_display: 'stacks' | 'native-segwit' | 'taproot' | 'bns';
260
311
  } | {
261
- analytics: 'consent-given' | 'rejects-tracking';
312
+ analytics: 'consent-given' | 'rejects-tracking';
262
313
  } | {
263
- bitcoin_unit: 'bitcoin' | 'satoshi';
314
+ bitcoin_unit: 'bitcoin' | 'satoshi';
264
315
  } | {
265
- email_address: string;
316
+ email_address: string;
266
317
  } | {
267
- fiat_currency: string;
318
+ fiat_currency: string;
268
319
  } | {
269
- quote_currency: string;
320
+ quote_currency: string;
270
321
  } | {
271
- network: DefaultNetworkConfigurations;
322
+ network: DefaultNetworkConfigurations;
272
323
  } | {
273
- privacy_mode: 'hidden' | 'visible';
324
+ privacy_mode: 'hidden' | 'visible';
274
325
  } | {
275
- haptics: 'disabled' | 'enabled';
326
+ haptics: 'disabled' | 'enabled';
276
327
  } | {
277
- theme: 'light' | 'dark' | 'system';
328
+ theme: 'light' | 'dark' | 'system';
278
329
  } | {
279
- language: string;
330
+ language: string;
280
331
  } | {
281
- security_level: 'insecure' | 'secure' | 'not-selected';
332
+ security_level: 'insecure' | 'secure' | 'not-selected';
282
333
  } | {
283
- notifications: 'disabled' | 'enabled' | 'not-selected';
334
+ notifications: 'disabled' | 'enabled' | 'not-selected';
284
335
  };
285
336
  interface WalletCreatedValue {
286
- type: 'software' | 'ledger';
337
+ type: 'software' | 'ledger';
287
338
  }
288
339
  interface SubmitWaitlist {
289
- feature: string;
340
+ feature: string;
290
341
  }
291
342
  interface TokenPortfolioSummary {
292
- walletAccountId: string;
293
- platform: 'mobile' | 'extension';
294
- sip10TokenCount: number;
295
- runeTokenCount: number;
296
- totalTokenCount: number;
297
- sip10TokenValue: number;
298
- runeTokenValue: number;
299
- totalTokenValue: number;
300
- fiatCurrency?: string;
343
+ walletAccountId: string;
344
+ platform: 'mobile' | 'extension';
345
+ sip10TokenCount: number;
346
+ runeTokenCount: number;
347
+ totalTokenCount: number;
348
+ sip10TokenValue: number;
349
+ runeTokenValue: number;
350
+ totalTokenValue: number;
351
+ fiatCurrency?: string;
301
352
  }
302
353
  interface CollectiblesSummary {
303
- walletAccountId: string;
304
- platform: 'mobile' | 'extension';
305
- totalCollectibles: number;
306
- byProtocol: Partial<Record<CryptoAssetProtocol, CollectibleProtocolBreakdown>>;
354
+ walletAccountId: string;
355
+ platform: 'mobile' | 'extension';
356
+ totalCollectibles: number;
357
+ byProtocol: Partial<Record<CryptoAssetProtocol, CollectibleProtocolBreakdown>>;
307
358
  }
308
359
  interface TokenCollectibleDetailsViewed {
309
- assetId: string;
310
- protocol: CryptoAssetProtocol;
311
- platform: 'mobile' | 'extension';
312
- walletAccountId: string;
360
+ assetId: string;
361
+ protocol: CryptoAssetProtocol;
362
+ platform: 'mobile' | 'extension';
363
+ walletAccountId: string;
313
364
  }
314
365
  interface CollectibleProtocolBreakdown {
315
- total: number;
316
- byContentType?: Record<string, number>;
366
+ total: number;
367
+ byContentType?: Record<string, number>;
317
368
  }
318
-
369
+ //#endregion
370
+ //#region src/types.d.ts
319
371
  interface DefaultProperties {
320
- platform: 'web' | 'extension' | 'mobile' | 'earn';
321
- [key: string]: JsonValue;
372
+ platform: 'web' | 'extension' | 'mobile' | 'earn';
373
+ [key: string]: JsonValue;
322
374
  }
323
375
  interface AnalyticsClientInterface {
324
- screen: (name: string, ...args: any[]) => Promise<any>;
325
- track: (event: string, ...args: any[]) => Promise<any>;
326
- group: (groupId: string, traits?: any, ...args: any[]) => Promise<any>;
327
- identify: (...args: any[]) => Promise<any>;
328
- page?: (category?: string, name?: string, ...args: any[]) => Promise<any>;
376
+ screen(name: string, ...args: any[]): Promise<any>;
377
+ track(event: string, ...args: any[]): Promise<any>;
378
+ group(groupId: string, traits?: any, ...args: any[]): Promise<any>;
379
+ identify(...args: any[]): Promise<any>;
380
+ page?(category?: string, name?: string, ...args: any[]): Promise<any>;
329
381
  }
330
382
  interface AnalyticsClientConfig<T extends AnalyticsClientInterface> {
331
- client: T;
332
- defaultProperties?: DefaultProperties;
333
- defaultTraits?: JsonMap;
383
+ client: T;
384
+ defaultProperties?: DefaultProperties;
385
+ defaultTraits?: JsonMap;
334
386
  }
335
387
  type JsonList = JsonValue[];
336
388
  type JsonValue = boolean | number | string | undefined | null | JsonList | JsonMap | Error;
337
389
  interface JsonMap {
338
- [key: string]: JsonValue;
339
- [index: number]: JsonValue;
390
+ [key: string]: JsonValue;
391
+ [index: number]: JsonValue;
340
392
  }
341
393
  type OptionalIfUndefined<T> = T extends undefined ? undefined : T;
342
-
343
- declare function configureAnalyticsClient<T extends AnalyticsClientInterface>({ client, defaultProperties, defaultTraits, }: {
344
- client: T;
345
- defaultProperties: DefaultProperties;
346
- defaultTraits?: JsonMap;
394
+ //#endregion
395
+ //#region src/index.d.ts
396
+ declare function configureAnalyticsClient<T extends AnalyticsClientInterface>({
397
+ client,
398
+ defaultProperties,
399
+ defaultTraits
400
+ }: {
401
+ client: T;
402
+ defaultProperties: DefaultProperties;
403
+ defaultTraits?: JsonMap;
347
404
  }): {
348
- track<K extends keyof Events>(event: K, ...[properties]: Events[K] extends undefined ? [] : [Events[K]]): Promise<any>;
349
- untypedTrack(event: string, properties?: JsonMap | Record<string, unknown>): Promise<any>;
350
- screen(name: string, properties?: JsonMap | Record<string, unknown>): Promise<any>;
351
- group(groupId: string, traits?: JsonMap | Record<string, unknown>): Promise<any>;
352
- identify(userId?: string, traits?: JsonMap | Record<string, unknown>): Promise<any>;
353
- page(category?: string, name?: string, properties?: JsonMap | Record<string, unknown>): Promise<any>;
354
- readonly client: T;
405
+ track<K extends keyof Events>(event: K, ...[properties]: Events[K] extends undefined ? [] : [Events[K]]): Promise<any>;
406
+ untypedTrack(event: string, properties?: JsonMap | Record<string, unknown>): Promise<any>;
407
+ screen(name: string, properties?: JsonMap | Record<string, unknown>): Promise<any>;
408
+ group(groupId: string, traits?: JsonMap | Record<string, unknown>): Promise<any>;
409
+ identify(userId?: string, traits?: JsonMap | Record<string, unknown>): Promise<any>;
410
+ page(category?: string, name?: string, properties?: JsonMap | Record<string, unknown>): Promise<any>;
411
+ readonly client: T;
355
412
  };
356
-
357
- export { type AnalyticsClientConfig, type AnalyticsClientInterface, type DefaultProperties, type EventName, type Events, type JsonList, type JsonMap, type JsonValue, type OptionalIfUndefined, configureAnalyticsClient };
413
+ //#endregion
414
+ export { AnalyticsClientConfig, AnalyticsClientInterface, DefaultProperties, EventName, Events, JsonList, JsonMap, JsonValue, OptionalIfUndefined, configureAnalyticsClient };
415
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/events.ts","../src/types.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,55 +1,61 @@
1
- // src/client.ts
1
+ //#region src/client.ts
2
2
  function AnalyticsClient(config) {
3
- const { client: analyticsClient, defaultProperties = {}, defaultTraits = {} } = config;
4
- return {
5
- async track(event, ...[properties]) {
6
- return analyticsClient.track(event, { ...properties, ...defaultProperties });
7
- },
8
- async untypedTrack(event, properties) {
9
- if (event.match(/^[a-zA-Z0-9\s][a-zA-Z0-9\s]*$/)) {
10
- throw new Error("Event must be snake_case");
11
- }
12
- return analyticsClient.track(event, {
13
- ...properties,
14
- ...defaultProperties
15
- });
16
- },
17
- async screen(name, properties) {
18
- return analyticsClient.screen(name, { ...properties, ...defaultProperties });
19
- },
20
- group(groupId, traits) {
21
- return analyticsClient.group(groupId, { ...traits, ...defaultTraits });
22
- },
23
- async identify(userId, traits) {
24
- return await analyticsClient.identify(userId, {
25
- ...traits,
26
- ...defaultTraits
27
- });
28
- },
29
- page(category, name, properties) {
30
- if (typeof analyticsClient.page === "function") {
31
- return analyticsClient.page(category, name, {
32
- ...properties,
33
- ...defaultProperties
34
- });
35
- }
36
- return Promise.resolve();
37
- },
38
- get client() {
39
- return analyticsClient;
40
- }
41
- };
3
+ const { client: analyticsClient, defaultProperties = {}, defaultTraits = {} } = config;
4
+ return {
5
+ async track(event, ...[properties]) {
6
+ return analyticsClient.track(event, {
7
+ ...properties,
8
+ ...defaultProperties
9
+ });
10
+ },
11
+ async untypedTrack(event, properties) {
12
+ if (event.match(/^[a-zA-Z0-9\s][a-zA-Z0-9\s]*$/)) throw new Error("Event must be snake_case");
13
+ return analyticsClient.track(event, {
14
+ ...properties,
15
+ ...defaultProperties
16
+ });
17
+ },
18
+ async screen(name, properties) {
19
+ return analyticsClient.screen(name, {
20
+ ...properties,
21
+ ...defaultProperties
22
+ });
23
+ },
24
+ group(groupId, traits) {
25
+ return analyticsClient.group(groupId, {
26
+ ...traits,
27
+ ...defaultTraits
28
+ });
29
+ },
30
+ async identify(userId, traits) {
31
+ return await analyticsClient.identify(userId, {
32
+ ...traits,
33
+ ...defaultTraits
34
+ });
35
+ },
36
+ page(category, name, properties) {
37
+ if (typeof analyticsClient.page === "function") return analyticsClient.page(category, name, {
38
+ ...properties,
39
+ ...defaultProperties
40
+ });
41
+ return Promise.resolve();
42
+ },
43
+ get client() {
44
+ return analyticsClient;
45
+ }
46
+ };
42
47
  }
43
48
 
44
- // src/index.ts
45
- function configureAnalyticsClient({
46
- client,
47
- defaultProperties,
48
- defaultTraits
49
- }) {
50
- return AnalyticsClient({ client, defaultProperties, defaultTraits });
49
+ //#endregion
50
+ //#region src/index.ts
51
+ function configureAnalyticsClient({ client, defaultProperties, defaultTraits }) {
52
+ return AnalyticsClient({
53
+ client,
54
+ defaultProperties,
55
+ defaultTraits
56
+ });
51
57
  }
52
- export {
53
- configureAnalyticsClient
54
- };
58
+
59
+ //#endregion
60
+ export { configureAnalyticsClient };
55
61
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/client.ts","../src/index.ts"],"sourcesContent":["import { AnalyticsClientConfig, AnalyticsClientInterface, Events, JsonMap } from './types';\n\nexport function AnalyticsClient<T extends AnalyticsClientInterface>(\n config: AnalyticsClientConfig<T>\n) {\n const { client: analyticsClient, defaultProperties = {}, defaultTraits = {} } = config;\n\n return {\n async track<K extends keyof Events>(\n event: K,\n ...[properties]: Events[K] extends undefined ? [] : [Events[K]]\n ) {\n return analyticsClient.track(event, { ...properties, ...defaultProperties });\n },\n\n async untypedTrack(event: string, properties?: JsonMap | Record<string, unknown>) {\n if (event.match(/^[a-zA-Z0-9\\s][a-zA-Z0-9\\s]*$/)) {\n throw new Error('Event must be snake_case');\n }\n return analyticsClient.track(event as any, {\n ...properties,\n ...defaultProperties,\n });\n },\n\n async screen(name: string, properties?: JsonMap | Record<string, unknown>) {\n return analyticsClient.screen(name, { ...properties, ...defaultProperties });\n },\n\n group(groupId: string, traits?: JsonMap | Record<string, unknown>) {\n return analyticsClient.group(groupId, { ...traits, ...defaultTraits });\n },\n\n async identify(userId?: string, traits?: JsonMap | Record<string, unknown>) {\n return await analyticsClient.identify(userId, {\n ...traits,\n ...defaultTraits,\n });\n },\n\n page(category?: string, name?: string, properties?: JsonMap | Record<string, unknown>) {\n if (typeof analyticsClient.page === 'function') {\n return analyticsClient.page(category, name, {\n ...properties,\n ...defaultProperties,\n });\n }\n return Promise.resolve();\n },\n\n get client() {\n return analyticsClient;\n },\n };\n}\n","import { AnalyticsClient } from './client';\nimport { AnalyticsClientInterface, DefaultProperties, JsonMap } from './types';\n\nexport * from './types';\n\nexport function configureAnalyticsClient<T extends AnalyticsClientInterface>({\n client,\n defaultProperties,\n defaultTraits,\n}: {\n client: T;\n defaultProperties: DefaultProperties;\n defaultTraits?: JsonMap;\n}) {\n return AnalyticsClient<T>({ client, defaultProperties, defaultTraits });\n}\n"],"mappings":";AAEO,SAAS,gBACd,QACA;AACA,QAAM,EAAE,QAAQ,iBAAiB,oBAAoB,CAAC,GAAG,gBAAgB,CAAC,EAAE,IAAI;AAEhF,SAAO;AAAA,IACL,MAAM,MACJ,UACG,CAAC,UAAU,GACd;AACA,aAAO,gBAAgB,MAAM,OAAO,EAAE,GAAG,YAAY,GAAG,kBAAkB,CAAC;AAAA,IAC7E;AAAA,IAEA,MAAM,aAAa,OAAe,YAAgD;AAChF,UAAI,MAAM,MAAM,+BAA+B,GAAG;AAChD,cAAM,IAAI,MAAM,0BAA0B;AAAA,MAC5C;AACA,aAAO,gBAAgB,MAAM,OAAc;AAAA,QACzC,GAAG;AAAA,QACH,GAAG;AAAA,MACL,CAAC;AAAA,IACH;AAAA,IAEA,MAAM,OAAO,MAAc,YAAgD;AACzE,aAAO,gBAAgB,OAAO,MAAM,EAAE,GAAG,YAAY,GAAG,kBAAkB,CAAC;AAAA,IAC7E;AAAA,IAEA,MAAM,SAAiB,QAA4C;AACjE,aAAO,gBAAgB,MAAM,SAAS,EAAE,GAAG,QAAQ,GAAG,cAAc,CAAC;AAAA,IACvE;AAAA,IAEA,MAAM,SAAS,QAAiB,QAA4C;AAC1E,aAAO,MAAM,gBAAgB,SAAS,QAAQ;AAAA,QAC5C,GAAG;AAAA,QACH,GAAG;AAAA,MACL,CAAC;AAAA,IACH;AAAA,IAEA,KAAK,UAAmB,MAAe,YAAgD;AACrF,UAAI,OAAO,gBAAgB,SAAS,YAAY;AAC9C,eAAO,gBAAgB,KAAK,UAAU,MAAM;AAAA,UAC1C,GAAG;AAAA,UACH,GAAG;AAAA,QACL,CAAC;AAAA,MACH;AACA,aAAO,QAAQ,QAAQ;AAAA,IACzB;AAAA,IAEA,IAAI,SAAS;AACX,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;ACjDO,SAAS,yBAA6D;AAAA,EAC3E;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,SAAO,gBAAmB,EAAE,QAAQ,mBAAmB,cAAc,CAAC;AACxE;","names":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/client.ts","../src/index.ts"],"sourcesContent":["import { AnalyticsClientConfig, AnalyticsClientInterface, Events, JsonMap } from './types';\n\nexport function AnalyticsClient<T extends AnalyticsClientInterface>(\n config: AnalyticsClientConfig<T>\n) {\n const { client: analyticsClient, defaultProperties = {}, defaultTraits = {} } = config;\n\n return {\n async track<K extends keyof Events>(\n event: K,\n ...[properties]: Events[K] extends undefined ? [] : [Events[K]]\n ) {\n return analyticsClient.track(event, { ...properties, ...defaultProperties });\n },\n\n async untypedTrack(event: string, properties?: JsonMap | Record<string, unknown>) {\n if (event.match(/^[a-zA-Z0-9\\s][a-zA-Z0-9\\s]*$/)) {\n throw new Error('Event must be snake_case');\n }\n return analyticsClient.track(event as any, {\n ...properties,\n ...defaultProperties,\n });\n },\n\n async screen(name: string, properties?: JsonMap | Record<string, unknown>) {\n return analyticsClient.screen(name, { ...properties, ...defaultProperties });\n },\n\n group(groupId: string, traits?: JsonMap | Record<string, unknown>) {\n return analyticsClient.group(groupId, { ...traits, ...defaultTraits });\n },\n\n async identify(userId?: string, traits?: JsonMap | Record<string, unknown>) {\n return await analyticsClient.identify(userId, {\n ...traits,\n ...defaultTraits,\n });\n },\n\n page(category?: string, name?: string, properties?: JsonMap | Record<string, unknown>) {\n if (typeof analyticsClient.page === 'function') {\n return analyticsClient.page(category, name, {\n ...properties,\n ...defaultProperties,\n });\n }\n return Promise.resolve();\n },\n\n get client() {\n return analyticsClient;\n },\n };\n}\n","import { AnalyticsClient } from './client';\nimport { AnalyticsClientInterface, DefaultProperties, JsonMap } from './types';\n\nexport * from './types';\n\nexport function configureAnalyticsClient<T extends AnalyticsClientInterface>({\n client,\n defaultProperties,\n defaultTraits,\n}: {\n client: T;\n defaultProperties: DefaultProperties;\n defaultTraits?: JsonMap;\n}) {\n return AnalyticsClient<T>({ client, defaultProperties, defaultTraits });\n}\n"],"mappings":";AAEA,SAAgB,gBACd,QACA;CACA,MAAM,EAAE,QAAQ,iBAAiB,oBAAoB,EAAE,EAAE,gBAAgB,EAAE,KAAK;AAEhF,QAAO;EACL,MAAM,MACJ,OACA,GAAG,CAAC,aACJ;AACA,UAAO,gBAAgB,MAAM,OAAO;IAAE,GAAG;IAAY,GAAG;IAAmB,CAAC;;EAG9E,MAAM,aAAa,OAAe,YAAgD;AAChF,OAAI,MAAM,MAAM,gCAAgC,CAC9C,OAAM,IAAI,MAAM,2BAA2B;AAE7C,UAAO,gBAAgB,MAAM,OAAc;IACzC,GAAG;IACH,GAAG;IACJ,CAAC;;EAGJ,MAAM,OAAO,MAAc,YAAgD;AACzE,UAAO,gBAAgB,OAAO,MAAM;IAAE,GAAG;IAAY,GAAG;IAAmB,CAAC;;EAG9E,MAAM,SAAiB,QAA4C;AACjE,UAAO,gBAAgB,MAAM,SAAS;IAAE,GAAG;IAAQ,GAAG;IAAe,CAAC;;EAGxE,MAAM,SAAS,QAAiB,QAA4C;AAC1E,UAAO,MAAM,gBAAgB,SAAS,QAAQ;IAC5C,GAAG;IACH,GAAG;IACJ,CAAC;;EAGJ,KAAK,UAAmB,MAAe,YAAgD;AACrF,OAAI,OAAO,gBAAgB,SAAS,WAClC,QAAO,gBAAgB,KAAK,UAAU,MAAM;IAC1C,GAAG;IACH,GAAG;IACJ,CAAC;AAEJ,UAAO,QAAQ,SAAS;;EAG1B,IAAI,SAAS;AACX,UAAO;;EAEV;;;;;AChDH,SAAgB,yBAA6D,EAC3E,QACA,mBACA,iBAKC;AACD,QAAO,gBAAmB;EAAE;EAAQ;EAAmB;EAAe,CAAC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@leather.io/analytics",
3
3
  "author": "Leather.io contact@leather.io",
4
4
  "description": "Analytics package for Leather using Segment",
5
- "version": "3.15.8",
5
+ "version": "3.16.1",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/leather.io/mono/tree/dev/packages/analytics",
8
8
  "repository": {
@@ -22,10 +22,12 @@
22
22
  "@types/node": "24.0.8",
23
23
  "concurrently": "8.2.2",
24
24
  "prettier": "3.5.1",
25
- "tsup": "8.4.0",
26
- "typescript": "5.8.3",
25
+ "tsdown": "0.16.5",
26
+ "typescript": "5.9.3",
27
27
  "vitest": "2.1.9",
28
- "@leather.io/models": "0.50.0"
28
+ "@leather.io/models": "0.50.2",
29
+ "@leather.io/test-config": "0.1.2",
30
+ "@leather.io/prettier-config": "0.9.0"
29
31
  },
30
32
  "files": [
31
33
  "dist"
@@ -35,14 +37,18 @@
35
37
  "leather",
36
38
  "leather wallet"
37
39
  ],
40
+ "prettier": "@leather.io/prettier-config",
38
41
  "publishConfig": {
39
42
  "access": "public"
40
43
  },
44
+ "types": "./dist/index.d.ts",
41
45
  "scripts": {
42
- "build": "tsup",
43
- "build:watch": "tsup --watch --onSuccess 'tsup --dts-only'",
44
- "format": "prettier . --write \"src/**/*.ts\" --ignore-path ../../.prettierignore",
45
- "format:check": "prettier . --check \"src/**/*.ts\" --ignore-path ../../.prettierignore",
46
+ "build": "tsdown",
47
+ "build:watch": "tsdown --watch",
48
+ "format": "prettier . --write --ignore-path ../../.prettierignore",
49
+ "format:check": "prettier . --check --ignore-path ../../.prettierignore",
50
+ "lint": "eslint --cache --max-warnings 0",
51
+ "lint:fix": "pnpm lint --fix",
46
52
  "test": "vitest run",
47
53
  "test:watch": "vitest watch",
48
54
  "typecheck": "tsc --noEmit"