@formo/analytics 1.25.0 → 1.27.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.
Files changed (192) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +6 -4
  3. package/dist/cjs/src/FormoAnalytics.d.ts +27 -15
  4. package/dist/cjs/src/FormoAnalytics.js +198 -257
  5. package/dist/cjs/src/FormoAnalyticsProvider.js +71 -13
  6. package/dist/{esm/src/lib/consent.d.ts → cjs/src/consent/index.d.ts} +1 -1
  7. package/dist/cjs/src/{lib/consent.js → consent/index.js} +1 -1
  8. package/dist/cjs/src/constants/base.d.ts +0 -2
  9. package/dist/cjs/src/constants/base.js +3 -3
  10. package/dist/cjs/src/constants/config.js +1 -1
  11. package/dist/cjs/src/{lib/event → event}/EventFactory.d.ts +2 -2
  12. package/dist/cjs/src/{lib/event → event}/EventFactory.js +9 -9
  13. package/dist/cjs/src/{lib/event → event}/EventManager.d.ts +1 -1
  14. package/dist/cjs/src/{lib/event → event}/EventManager.js +1 -1
  15. package/dist/cjs/src/{lib/event → event}/type.d.ts +1 -1
  16. package/dist/cjs/src/{lib/event → event}/utils.d.ts +1 -1
  17. package/dist/cjs/src/{lib/event → event}/utils.js +1 -1
  18. package/dist/cjs/src/fetch/index.d.ts +11 -0
  19. package/dist/cjs/src/fetch/index.js +126 -0
  20. package/dist/cjs/src/provider/detection.d.ts +58 -0
  21. package/dist/cjs/src/provider/detection.js +103 -0
  22. package/dist/cjs/src/provider/index.d.ts +6 -0
  23. package/dist/cjs/src/provider/index.js +11 -0
  24. package/dist/cjs/src/queue/EventQueue.d.ts +56 -0
  25. package/dist/cjs/src/{lib/queue → queue}/EventQueue.js +161 -52
  26. package/dist/{esm/src/lib → cjs/src}/queue/type.d.ts +1 -1
  27. package/dist/cjs/src/session/index.d.ts +91 -0
  28. package/dist/cjs/src/session/index.js +126 -0
  29. package/dist/cjs/src/{lib/storage → storage}/built-in/blueprint.js +1 -1
  30. package/dist/cjs/src/types/base.d.ts +35 -1
  31. package/dist/cjs/src/types/events.d.ts +5 -3
  32. package/dist/cjs/src/validators/object.js +0 -2
  33. package/dist/cjs/src/version.d.ts +1 -1
  34. package/dist/cjs/src/version.js +1 -1
  35. package/dist/cjs/src/wagmi/WagmiEventHandler.d.ts +93 -0
  36. package/dist/cjs/src/wagmi/WagmiEventHandler.js +669 -0
  37. package/dist/cjs/src/wagmi/index.d.ts +9 -0
  38. package/dist/cjs/src/wagmi/index.js +12 -0
  39. package/dist/cjs/src/wagmi/types.d.ts +146 -0
  40. package/dist/cjs/src/wagmi/types.js +10 -0
  41. package/dist/cjs/src/wagmi/utils.d.ts +74 -0
  42. package/dist/cjs/src/wagmi/utils.js +198 -0
  43. package/dist/esm/src/FormoAnalytics.d.ts +27 -15
  44. package/dist/esm/src/FormoAnalytics.js +88 -147
  45. package/dist/esm/src/FormoAnalyticsProvider.js +68 -10
  46. package/dist/{cjs/src/lib/consent.d.ts → esm/src/consent/index.d.ts} +1 -1
  47. package/dist/esm/src/{lib/consent.js → consent/index.js} +1 -1
  48. package/dist/esm/src/constants/base.d.ts +0 -2
  49. package/dist/esm/src/constants/base.js +2 -2
  50. package/dist/esm/src/constants/config.js +1 -1
  51. package/dist/esm/src/{lib/event → event}/EventFactory.d.ts +2 -2
  52. package/dist/esm/src/{lib/event → event}/EventFactory.js +9 -9
  53. package/dist/esm/src/{lib/event → event}/EventManager.d.ts +1 -1
  54. package/dist/esm/src/{lib/event → event}/EventManager.js +1 -1
  55. package/dist/esm/src/{lib/event → event}/type.d.ts +1 -1
  56. package/dist/esm/src/{lib/event → event}/utils.d.ts +1 -1
  57. package/dist/esm/src/{lib/event → event}/utils.js +1 -1
  58. package/dist/esm/src/fetch/index.d.ts +11 -0
  59. package/dist/esm/src/fetch/index.js +124 -0
  60. package/dist/esm/src/provider/detection.d.ts +58 -0
  61. package/dist/esm/src/provider/detection.js +98 -0
  62. package/dist/esm/src/provider/index.d.ts +6 -0
  63. package/dist/esm/src/provider/index.js +5 -0
  64. package/dist/esm/src/queue/EventQueue.d.ts +56 -0
  65. package/dist/esm/src/{lib/queue → queue}/EventQueue.js +161 -52
  66. package/dist/{cjs/src/lib → esm/src}/queue/type.d.ts +1 -1
  67. package/dist/esm/src/session/index.d.ts +91 -0
  68. package/dist/esm/src/session/index.js +123 -0
  69. package/dist/esm/src/{lib/storage → storage}/built-in/blueprint.js +1 -1
  70. package/dist/esm/src/types/base.d.ts +35 -1
  71. package/dist/esm/src/types/events.d.ts +5 -3
  72. package/dist/esm/src/validators/object.js +0 -2
  73. package/dist/esm/src/version.d.ts +1 -1
  74. package/dist/esm/src/version.js +1 -1
  75. package/dist/esm/src/wagmi/WagmiEventHandler.d.ts +93 -0
  76. package/dist/esm/src/wagmi/WagmiEventHandler.js +666 -0
  77. package/dist/esm/src/wagmi/index.d.ts +9 -0
  78. package/dist/esm/src/wagmi/index.js +8 -0
  79. package/dist/esm/src/wagmi/types.d.ts +146 -0
  80. package/dist/esm/src/wagmi/types.js +9 -0
  81. package/dist/esm/src/wagmi/utils.d.ts +74 -0
  82. package/dist/esm/src/wagmi/utils.js +192 -0
  83. package/dist/index.umd.min.js +1 -1
  84. package/package.json +23 -4
  85. package/dist/cjs/src/lib/fetch.d.ts +0 -3
  86. package/dist/cjs/src/lib/fetch.js +0 -8
  87. package/dist/cjs/src/lib/index.d.ts +0 -7
  88. package/dist/cjs/src/lib/index.js +0 -28
  89. package/dist/cjs/src/lib/queue/EventQueue.d.ts +0 -34
  90. package/dist/esm/src/lib/fetch.d.ts +0 -3
  91. package/dist/esm/src/lib/fetch.js +0 -3
  92. package/dist/esm/src/lib/index.d.ts +0 -7
  93. package/dist/esm/src/lib/index.js +0 -7
  94. package/dist/esm/src/lib/queue/EventQueue.d.ts +0 -34
  95. /package/dist/cjs/src/{lib/browser → browser}/browsers.d.ts +0 -0
  96. /package/dist/cjs/src/{lib/browser → browser}/browsers.js +0 -0
  97. /package/dist/cjs/src/{lib/event → event}/constants.d.ts +0 -0
  98. /package/dist/cjs/src/{lib/event → event}/constants.js +0 -0
  99. /package/dist/cjs/src/{lib/event → event}/index.d.ts +0 -0
  100. /package/dist/cjs/src/{lib/event → event}/index.js +0 -0
  101. /package/dist/cjs/src/{lib/event → event}/type.js +0 -0
  102. /package/dist/cjs/src/{lib/logger → logger}/Logger.d.ts +0 -0
  103. /package/dist/cjs/src/{lib/logger → logger}/Logger.js +0 -0
  104. /package/dist/cjs/src/{lib/logger → logger}/index.d.ts +0 -0
  105. /package/dist/cjs/src/{lib/logger → logger}/index.js +0 -0
  106. /package/dist/cjs/src/{lib/logger → logger}/type.d.ts +0 -0
  107. /package/dist/cjs/src/{lib/logger → logger}/type.js +0 -0
  108. /package/dist/cjs/src/{lib/queue → queue}/index.d.ts +0 -0
  109. /package/dist/cjs/src/{lib/queue → queue}/index.js +0 -0
  110. /package/dist/cjs/src/{lib/queue → queue}/type.js +0 -0
  111. /package/dist/cjs/src/{lib/ramda → ramda}/internal/_curry1.d.ts +0 -0
  112. /package/dist/cjs/src/{lib/ramda → ramda}/internal/_curry1.js +0 -0
  113. /package/dist/cjs/src/{lib/ramda → ramda}/internal/_curry2.d.ts +0 -0
  114. /package/dist/cjs/src/{lib/ramda → ramda}/internal/_curry2.js +0 -0
  115. /package/dist/cjs/src/{lib/ramda → ramda}/internal/_curry3.d.ts +0 -0
  116. /package/dist/cjs/src/{lib/ramda → ramda}/internal/_curry3.js +0 -0
  117. /package/dist/cjs/src/{lib/ramda → ramda}/internal/_has.d.ts +0 -0
  118. /package/dist/cjs/src/{lib/ramda → ramda}/internal/_has.js +0 -0
  119. /package/dist/cjs/src/{lib/ramda → ramda}/internal/_isObject.d.ts +0 -0
  120. /package/dist/cjs/src/{lib/ramda → ramda}/internal/_isObject.js +0 -0
  121. /package/dist/cjs/src/{lib/ramda → ramda}/internal/_isPlaceholder.d.ts +0 -0
  122. /package/dist/cjs/src/{lib/ramda → ramda}/internal/_isPlaceholder.js +0 -0
  123. /package/dist/cjs/src/{lib/ramda → ramda}/mergeDeepRight.d.ts +0 -0
  124. /package/dist/cjs/src/{lib/ramda → ramda}/mergeDeepRight.js +0 -0
  125. /package/dist/cjs/src/{lib/ramda → ramda}/mergeDeepWithKey.d.ts +0 -0
  126. /package/dist/cjs/src/{lib/ramda → ramda}/mergeDeepWithKey.js +0 -0
  127. /package/dist/cjs/src/{lib/ramda → ramda}/mergeWithKey.d.ts +0 -0
  128. /package/dist/cjs/src/{lib/ramda → ramda}/mergeWithKey.js +0 -0
  129. /package/dist/cjs/src/{lib/storage → storage}/StorageManager.d.ts +0 -0
  130. /package/dist/cjs/src/{lib/storage → storage}/StorageManager.js +0 -0
  131. /package/dist/cjs/src/{lib/storage → storage}/built-in/blueprint.d.ts +0 -0
  132. /package/dist/cjs/src/{lib/storage → storage}/built-in/cookie.d.ts +0 -0
  133. /package/dist/cjs/src/{lib/storage → storage}/built-in/cookie.js +0 -0
  134. /package/dist/cjs/src/{lib/storage → storage}/built-in/memory.d.ts +0 -0
  135. /package/dist/cjs/src/{lib/storage → storage}/built-in/memory.js +0 -0
  136. /package/dist/cjs/src/{lib/storage → storage}/built-in/web.d.ts +0 -0
  137. /package/dist/cjs/src/{lib/storage → storage}/built-in/web.js +0 -0
  138. /package/dist/cjs/src/{lib/storage → storage}/constant.d.ts +0 -0
  139. /package/dist/cjs/src/{lib/storage → storage}/constant.js +0 -0
  140. /package/dist/cjs/src/{lib/storage → storage}/index.d.ts +0 -0
  141. /package/dist/cjs/src/{lib/storage → storage}/index.js +0 -0
  142. /package/dist/cjs/src/{lib/storage → storage}/type.d.ts +0 -0
  143. /package/dist/cjs/src/{lib/storage → storage}/type.js +0 -0
  144. /package/dist/esm/src/{lib/browser → browser}/browsers.d.ts +0 -0
  145. /package/dist/esm/src/{lib/browser → browser}/browsers.js +0 -0
  146. /package/dist/esm/src/{lib/event → event}/constants.d.ts +0 -0
  147. /package/dist/esm/src/{lib/event → event}/constants.js +0 -0
  148. /package/dist/esm/src/{lib/event → event}/index.d.ts +0 -0
  149. /package/dist/esm/src/{lib/event → event}/index.js +0 -0
  150. /package/dist/esm/src/{lib/event → event}/type.js +0 -0
  151. /package/dist/esm/src/{lib/logger → logger}/Logger.d.ts +0 -0
  152. /package/dist/esm/src/{lib/logger → logger}/Logger.js +0 -0
  153. /package/dist/esm/src/{lib/logger → logger}/index.d.ts +0 -0
  154. /package/dist/esm/src/{lib/logger → logger}/index.js +0 -0
  155. /package/dist/esm/src/{lib/logger → logger}/type.d.ts +0 -0
  156. /package/dist/esm/src/{lib/logger → logger}/type.js +0 -0
  157. /package/dist/esm/src/{lib/queue → queue}/index.d.ts +0 -0
  158. /package/dist/esm/src/{lib/queue → queue}/index.js +0 -0
  159. /package/dist/esm/src/{lib/queue → queue}/type.js +0 -0
  160. /package/dist/esm/src/{lib/ramda → ramda}/internal/_curry1.d.ts +0 -0
  161. /package/dist/esm/src/{lib/ramda → ramda}/internal/_curry1.js +0 -0
  162. /package/dist/esm/src/{lib/ramda → ramda}/internal/_curry2.d.ts +0 -0
  163. /package/dist/esm/src/{lib/ramda → ramda}/internal/_curry2.js +0 -0
  164. /package/dist/esm/src/{lib/ramda → ramda}/internal/_curry3.d.ts +0 -0
  165. /package/dist/esm/src/{lib/ramda → ramda}/internal/_curry3.js +0 -0
  166. /package/dist/esm/src/{lib/ramda → ramda}/internal/_has.d.ts +0 -0
  167. /package/dist/esm/src/{lib/ramda → ramda}/internal/_has.js +0 -0
  168. /package/dist/esm/src/{lib/ramda → ramda}/internal/_isObject.d.ts +0 -0
  169. /package/dist/esm/src/{lib/ramda → ramda}/internal/_isObject.js +0 -0
  170. /package/dist/esm/src/{lib/ramda → ramda}/internal/_isPlaceholder.d.ts +0 -0
  171. /package/dist/esm/src/{lib/ramda → ramda}/internal/_isPlaceholder.js +0 -0
  172. /package/dist/esm/src/{lib/ramda → ramda}/mergeDeepRight.d.ts +0 -0
  173. /package/dist/esm/src/{lib/ramda → ramda}/mergeDeepRight.js +0 -0
  174. /package/dist/esm/src/{lib/ramda → ramda}/mergeDeepWithKey.d.ts +0 -0
  175. /package/dist/esm/src/{lib/ramda → ramda}/mergeDeepWithKey.js +0 -0
  176. /package/dist/esm/src/{lib/ramda → ramda}/mergeWithKey.d.ts +0 -0
  177. /package/dist/esm/src/{lib/ramda → ramda}/mergeWithKey.js +0 -0
  178. /package/dist/esm/src/{lib/storage → storage}/StorageManager.d.ts +0 -0
  179. /package/dist/esm/src/{lib/storage → storage}/StorageManager.js +0 -0
  180. /package/dist/esm/src/{lib/storage → storage}/built-in/blueprint.d.ts +0 -0
  181. /package/dist/esm/src/{lib/storage → storage}/built-in/cookie.d.ts +0 -0
  182. /package/dist/esm/src/{lib/storage → storage}/built-in/cookie.js +0 -0
  183. /package/dist/esm/src/{lib/storage → storage}/built-in/memory.d.ts +0 -0
  184. /package/dist/esm/src/{lib/storage → storage}/built-in/memory.js +0 -0
  185. /package/dist/esm/src/{lib/storage → storage}/built-in/web.d.ts +0 -0
  186. /package/dist/esm/src/{lib/storage → storage}/built-in/web.js +0 -0
  187. /package/dist/esm/src/{lib/storage → storage}/constant.d.ts +0 -0
  188. /package/dist/esm/src/{lib/storage → storage}/constant.js +0 -0
  189. /package/dist/esm/src/{lib/storage → storage}/index.d.ts +0 -0
  190. /package/dist/esm/src/{lib/storage → storage}/index.js +0 -0
  191. /package/dist/esm/src/{lib/storage → storage}/type.d.ts +0 -0
  192. /package/dist/esm/src/{lib/storage → storage}/type.js +0 -0
@@ -3,5 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
4
  // This file is auto-generated by scripts/update-version.js during npm version
5
5
  // Do not edit manually - it will be overwritten
6
- exports.version = '1.25.0';
6
+ exports.version = '1.27.0';
7
7
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,93 @@
1
+ /**
2
+ * WagmiEventHandler
3
+ *
4
+ * Handles wallet event tracking by hooking into Wagmi v2's config.subscribe()
5
+ * and TanStack Query's MutationCache. This replaces the EIP-1193 provider
6
+ * wrapping approach when Wagmi mode is enabled.
7
+ */
8
+ import { FormoAnalytics } from "../FormoAnalytics";
9
+ import { WagmiConfig, QueryClient } from "./types";
10
+ export declare class WagmiEventHandler {
11
+ private formo;
12
+ private wagmiConfig;
13
+ private queryClient?;
14
+ private unsubscribers;
15
+ private trackingState;
16
+ /**
17
+ * Track processed mutation states to prevent duplicate event emissions
18
+ * Key format: `${mutationId}:${status}`
19
+ */
20
+ private processedMutations;
21
+ /**
22
+ * Track processed query states to prevent duplicate event emissions
23
+ * Key format: `${queryHash}:${status}`
24
+ */
25
+ private processedQueries;
26
+ /**
27
+ * Store transaction details from BROADCASTED events for use in CONFIRMED/REVERTED
28
+ * Key: transactionHash, Value: transaction details including the original sender address
29
+ */
30
+ private pendingTransactions;
31
+ constructor(formoAnalytics: FormoAnalytics, wagmiConfig: WagmiConfig, queryClient?: QueryClient);
32
+ /**
33
+ * Set up listeners for wallet connection, disconnection, and chain changes
34
+ */
35
+ private setupConnectionListeners;
36
+ /**
37
+ * Handle status changes (connect/disconnect)
38
+ */
39
+ private handleStatusChange;
40
+ /**
41
+ * Handle chain ID changes
42
+ */
43
+ private handleChainChange;
44
+ /**
45
+ * Set up mutation tracking for signatures and transactions
46
+ */
47
+ private setupMutationTracking;
48
+ /**
49
+ * Set up query tracking for transaction confirmations
50
+ * Listens for waitForTransactionReceipt queries to detect CONFIRMED status
51
+ */
52
+ private setupQueryTracking;
53
+ /**
54
+ * Handle query cache events (transaction confirmations)
55
+ */
56
+ private handleQueryEvent;
57
+ /**
58
+ * Handle waitForTransactionReceipt query completion
59
+ * Emits CONFIRMED or REVERTED transaction status
60
+ */
61
+ private handleTransactionReceiptQuery;
62
+ /**
63
+ * Handle mutation cache events (signatures, transactions)
64
+ */
65
+ private handleMutationEvent;
66
+ /**
67
+ * Handle signature mutations (signMessage, signTypedData)
68
+ */
69
+ private handleSignatureMutation;
70
+ /**
71
+ * Handle transaction mutations (sendTransaction, writeContract)
72
+ */
73
+ private handleTransactionMutation;
74
+ /**
75
+ * Get the current Wagmi state
76
+ * Supports both getState() method and direct state property access
77
+ * for compatibility with different Wagmi wrappers (RainbowKit, etc.)
78
+ */
79
+ private getState;
80
+ /**
81
+ * Get the currently connected address from Wagmi state
82
+ */
83
+ private getConnectedAddress;
84
+ /**
85
+ * Get the connector name from Wagmi state
86
+ */
87
+ private getConnectorName;
88
+ /**
89
+ * Clean up all subscriptions
90
+ */
91
+ cleanup(): void;
92
+ }
93
+ //# sourceMappingURL=WagmiEventHandler.d.ts.map