@formo/analytics-react-native 0.1.4 → 1.0.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.
- package/README.md +25 -0
- package/lib/commonjs/FormoAnalytics.js +158 -79
- package/lib/commonjs/FormoAnalytics.js.map +1 -1
- package/lib/commonjs/FormoAnalyticsProvider.js +32 -26
- package/lib/commonjs/FormoAnalyticsProvider.js.map +1 -1
- package/lib/commonjs/constants/events.js +5 -1
- package/lib/commonjs/constants/events.js.map +1 -1
- package/lib/commonjs/constants/index.js +3 -3
- package/lib/commonjs/constants/storage.js +8 -1
- package/lib/commonjs/constants/storage.js.map +1 -1
- package/lib/commonjs/index.js +7 -7
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/lib/consent/index.js +8 -8
- package/lib/commonjs/lib/consent/index.js.map +1 -1
- package/lib/commonjs/lib/event/EventFactory.js +135 -52
- package/lib/commonjs/lib/event/EventFactory.js.map +1 -1
- package/lib/commonjs/lib/event/EventManager.js +6 -6
- package/lib/commonjs/lib/event/EventManager.js.map +1 -1
- package/lib/commonjs/lib/event/EventQueue.js +35 -24
- package/lib/commonjs/lib/event/EventQueue.js.map +1 -1
- package/lib/commonjs/lib/event/index.js +4 -4
- package/lib/commonjs/lib/installReferrer/index.js +193 -0
- package/lib/commonjs/lib/installReferrer/index.js.map +1 -0
- package/lib/commonjs/lib/lifecycle/index.js +24 -17
- package/lib/commonjs/lib/lifecycle/index.js.map +1 -1
- package/lib/commonjs/lib/session/index.js +13 -13
- package/lib/commonjs/lib/session/index.js.map +1 -1
- package/lib/commonjs/lib/storage/AsyncStorageAdapter.js +10 -10
- package/lib/commonjs/lib/storage/AsyncStorageAdapter.js.map +1 -1
- package/lib/commonjs/lib/storage/MemoryStorage.js +1 -1
- package/lib/commonjs/lib/storage/StorageBlueprint.js +2 -2
- package/lib/commonjs/lib/storage/StorageBlueprint.js.map +1 -1
- package/lib/commonjs/lib/storage/StorageManager.js +6 -6
- package/lib/commonjs/lib/storage/StorageManager.js.map +1 -1
- package/lib/commonjs/lib/storage/index.js +4 -4
- package/lib/commonjs/lib/wagmi/WagmiEventHandler.js +31 -36
- package/lib/commonjs/lib/wagmi/WagmiEventHandler.js.map +1 -1
- package/lib/commonjs/lib/wagmi/index.js +2 -2
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/solana/address.js +110 -0
- package/lib/commonjs/solana/address.js.map +1 -0
- package/lib/commonjs/solana/index.js +28 -0
- package/lib/commonjs/solana/index.js.map +1 -0
- package/lib/commonjs/solana/types.js +47 -0
- package/lib/commonjs/solana/types.js.map +1 -0
- package/lib/commonjs/types/events.js.map +1 -1
- package/lib/commonjs/types/index.js +2 -2
- package/lib/commonjs/utils/address.js +60 -6
- package/lib/commonjs/utils/address.js.map +1 -1
- package/lib/commonjs/utils/hash.js +44 -6
- package/lib/commonjs/utils/hash.js.map +1 -1
- package/lib/commonjs/utils/index.js +5 -5
- package/lib/commonjs/utils/trafficSource.js +74 -13
- package/lib/commonjs/utils/trafficSource.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/FormoAnalytics.js +107 -26
- package/lib/module/FormoAnalytics.js.map +1 -1
- package/lib/module/FormoAnalyticsProvider.js +21 -13
- package/lib/module/FormoAnalyticsProvider.js.map +1 -1
- package/lib/module/constants/config.js +2 -0
- package/lib/module/constants/config.js.map +1 -1
- package/lib/module/constants/events.js +6 -0
- package/lib/module/constants/events.js.map +1 -1
- package/lib/module/constants/index.js +5 -3
- package/lib/module/constants/index.js.map +1 -1
- package/lib/module/constants/storage.js +9 -0
- package/lib/module/constants/storage.js.map +1 -1
- package/lib/module/index.js +6 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/lib/consent/index.js +4 -2
- package/lib/module/lib/consent/index.js.map +1 -1
- package/lib/module/lib/event/EventFactory.js +116 -33
- package/lib/module/lib/event/EventFactory.js.map +1 -1
- package/lib/module/lib/event/EventManager.js +5 -3
- package/lib/module/lib/event/EventManager.js.map +1 -1
- package/lib/module/lib/event/EventQueue.js +18 -5
- package/lib/module/lib/event/EventQueue.js.map +1 -1
- package/lib/module/lib/event/index.js +6 -4
- package/lib/module/lib/event/index.js.map +1 -1
- package/lib/module/lib/event/types.js +2 -0
- package/lib/module/lib/installReferrer/index.js +189 -0
- package/lib/module/lib/installReferrer/index.js.map +1 -0
- package/lib/module/lib/lifecycle/index.js +14 -5
- package/lib/module/lib/lifecycle/index.js.map +1 -1
- package/lib/module/lib/logger/index.js +2 -0
- package/lib/module/lib/logger/index.js.map +1 -1
- package/lib/module/lib/session/index.js +5 -3
- package/lib/module/lib/session/index.js.map +1 -1
- package/lib/module/lib/storage/AsyncStorageAdapter.js +4 -2
- package/lib/module/lib/storage/AsyncStorageAdapter.js.map +1 -1
- package/lib/module/lib/storage/MemoryStorage.js +3 -1
- package/lib/module/lib/storage/MemoryStorage.js.map +1 -1
- package/lib/module/lib/storage/StorageBlueprint.js +3 -1
- package/lib/module/lib/storage/StorageBlueprint.js.map +1 -1
- package/lib/module/lib/storage/StorageManager.js +5 -3
- package/lib/module/lib/storage/StorageManager.js.map +1 -1
- package/lib/module/lib/storage/index.js +6 -4
- package/lib/module/lib/storage/index.js.map +1 -1
- package/lib/module/lib/storage/types.js +1 -1
- package/lib/module/lib/wagmi/WagmiEventHandler.js +5 -8
- package/lib/module/lib/wagmi/WagmiEventHandler.js.map +1 -1
- package/lib/module/lib/wagmi/index.js +4 -2
- package/lib/module/lib/wagmi/index.js.map +1 -1
- package/lib/module/lib/wagmi/types.js +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/solana/address.js +102 -0
- package/lib/module/solana/address.js.map +1 -0
- package/lib/module/solana/index.js +5 -0
- package/lib/module/solana/index.js.map +1 -0
- package/lib/module/solana/types.js +42 -0
- package/lib/module/solana/types.js.map +1 -0
- package/lib/module/types/base.js +2 -0
- package/lib/module/types/events.js +2 -0
- package/lib/module/types/events.js.map +1 -1
- package/lib/module/types/index.js +4 -2
- package/lib/module/types/index.js.map +1 -1
- package/lib/module/utils/address.js +60 -6
- package/lib/module/utils/address.js.map +1 -1
- package/lib/module/utils/hash.js +46 -6
- package/lib/module/utils/hash.js.map +1 -1
- package/lib/module/utils/helpers.js +2 -0
- package/lib/module/utils/helpers.js.map +1 -1
- package/lib/module/utils/index.js +7 -5
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/timestamp.js +2 -0
- package/lib/module/utils/timestamp.js.map +1 -1
- package/lib/module/utils/trafficSource.js +64 -3
- package/lib/module/utils/trafficSource.js.map +1 -1
- package/lib/module/version.js +3 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/{FormoAnalytics.d.ts → commonjs/FormoAnalytics.d.ts} +23 -4
- package/lib/typescript/commonjs/FormoAnalytics.d.ts.map +1 -0
- package/lib/typescript/commonjs/FormoAnalyticsProvider.d.ts.map +1 -0
- package/lib/typescript/commonjs/constants/config.d.ts.map +1 -0
- package/lib/typescript/{constants → commonjs/constants}/events.d.ts +1 -0
- package/lib/typescript/commonjs/constants/events.d.ts.map +1 -0
- package/lib/typescript/commonjs/constants/index.d.ts.map +1 -0
- package/lib/typescript/{constants → commonjs/constants}/storage.d.ts +3 -0
- package/lib/typescript/commonjs/constants/storage.d.ts.map +1 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/consent/index.d.ts.map +1 -0
- package/lib/typescript/{lib → commonjs/lib}/event/EventFactory.d.ts +36 -1
- package/lib/typescript/commonjs/lib/event/EventFactory.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/event/EventManager.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/event/EventQueue.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/event/index.d.ts.map +1 -0
- package/lib/typescript/{lib → commonjs/lib}/event/types.d.ts +1 -1
- package/lib/typescript/commonjs/lib/event/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/installReferrer/index.d.ts +39 -0
- package/lib/typescript/commonjs/lib/installReferrer/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/lifecycle/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/logger/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/session/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/storage/AsyncStorageAdapter.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/storage/MemoryStorage.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/storage/StorageBlueprint.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/storage/StorageManager.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/storage/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/storage/types.d.ts.map +1 -0
- package/lib/typescript/{lib → commonjs/lib}/wagmi/WagmiEventHandler.d.ts +0 -1
- package/lib/typescript/commonjs/lib/wagmi/WagmiEventHandler.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/wagmi/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/lib/wagmi/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/solana/address.d.ts +42 -0
- package/lib/typescript/commonjs/solana/address.d.ts.map +1 -0
- package/lib/typescript/commonjs/solana/index.d.ts +3 -0
- package/lib/typescript/commonjs/solana/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/solana/types.d.ts +34 -0
- package/lib/typescript/commonjs/solana/types.d.ts.map +1 -0
- package/lib/typescript/{types → commonjs/types}/base.d.ts +39 -1
- package/lib/typescript/commonjs/types/base.d.ts.map +1 -0
- package/lib/typescript/{types → commonjs/types}/events.d.ts +1 -1
- package/lib/typescript/commonjs/types/events.d.ts.map +1 -0
- package/lib/typescript/commonjs/types/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/address.d.ts +45 -0
- package/lib/typescript/commonjs/utils/address.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/hash.d.ts +18 -0
- package/lib/typescript/commonjs/utils/hash.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/helpers.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/utils/timestamp.d.ts.map +1 -0
- package/lib/typescript/{utils → commonjs/utils}/trafficSource.d.ts +16 -0
- package/lib/typescript/commonjs/utils/trafficSource.d.ts.map +1 -0
- package/lib/typescript/commonjs/version.d.ts +2 -0
- package/lib/typescript/commonjs/version.d.ts.map +1 -0
- package/lib/typescript/module/FormoAnalytics.d.ts +182 -0
- package/lib/typescript/module/FormoAnalytics.d.ts.map +1 -0
- package/lib/typescript/module/FormoAnalyticsProvider.d.ts +29 -0
- package/lib/typescript/module/FormoAnalyticsProvider.d.ts.map +1 -0
- package/lib/typescript/module/constants/config.d.ts +8 -0
- package/lib/typescript/module/constants/config.d.ts.map +1 -0
- package/lib/typescript/module/constants/events.d.ts +24 -0
- package/lib/typescript/module/constants/events.d.ts.map +1 -0
- package/lib/typescript/module/constants/index.d.ts +4 -0
- package/lib/typescript/module/constants/index.d.ts.map +1 -0
- package/lib/typescript/module/constants/storage.d.ts +13 -0
- package/lib/typescript/module/constants/storage.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +44 -0
- package/lib/typescript/module/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/consent/index.d.ts +13 -0
- package/lib/typescript/module/lib/consent/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/event/EventFactory.d.ts +99 -0
- package/lib/typescript/module/lib/event/EventFactory.d.ts.map +1 -0
- package/lib/typescript/module/lib/event/EventManager.d.ts +17 -0
- package/lib/typescript/module/lib/event/EventManager.d.ts.map +1 -0
- package/lib/typescript/module/lib/event/EventQueue.d.ts +74 -0
- package/lib/typescript/module/lib/event/EventQueue.d.ts.map +1 -0
- package/lib/typescript/module/lib/event/index.d.ts +5 -0
- package/lib/typescript/module/lib/event/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/event/types.d.ts +23 -0
- package/lib/typescript/module/lib/event/types.d.ts.map +1 -0
- package/lib/typescript/module/lib/installReferrer/index.d.ts +39 -0
- package/lib/typescript/module/lib/installReferrer/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/lifecycle/index.d.ts +46 -0
- package/lib/typescript/module/lib/lifecycle/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/logger/index.d.ts +19 -0
- package/lib/typescript/module/lib/logger/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/session/index.d.ts +41 -0
- package/lib/typescript/module/lib/session/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/storage/AsyncStorageAdapter.d.ts +48 -0
- package/lib/typescript/module/lib/storage/AsyncStorageAdapter.d.ts.map +1 -0
- package/lib/typescript/module/lib/storage/MemoryStorage.d.ts +18 -0
- package/lib/typescript/module/lib/storage/MemoryStorage.d.ts.map +1 -0
- package/lib/typescript/module/lib/storage/StorageBlueprint.d.ts +21 -0
- package/lib/typescript/module/lib/storage/StorageBlueprint.d.ts.map +1 -0
- package/lib/typescript/module/lib/storage/StorageManager.d.ts +45 -0
- package/lib/typescript/module/lib/storage/StorageManager.d.ts.map +1 -0
- package/lib/typescript/module/lib/storage/index.d.ts +5 -0
- package/lib/typescript/module/lib/storage/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/storage/types.d.ts +22 -0
- package/lib/typescript/module/lib/storage/types.d.ts.map +1 -0
- package/lib/typescript/module/lib/wagmi/WagmiEventHandler.d.ts +103 -0
- package/lib/typescript/module/lib/wagmi/WagmiEventHandler.d.ts.map +1 -0
- package/lib/typescript/module/lib/wagmi/index.d.ts +3 -0
- package/lib/typescript/module/lib/wagmi/index.d.ts.map +1 -0
- package/lib/typescript/module/lib/wagmi/types.d.ts +54 -0
- package/lib/typescript/module/lib/wagmi/types.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/solana/address.d.ts +42 -0
- package/lib/typescript/module/solana/address.d.ts.map +1 -0
- package/lib/typescript/module/solana/index.d.ts +3 -0
- package/lib/typescript/module/solana/index.d.ts.map +1 -0
- package/lib/typescript/module/solana/types.d.ts +34 -0
- package/lib/typescript/module/solana/types.d.ts.map +1 -0
- package/lib/typescript/module/types/base.d.ts +258 -0
- package/lib/typescript/module/types/base.d.ts.map +1 -0
- package/lib/typescript/module/types/events.d.ts +111 -0
- package/lib/typescript/module/types/events.d.ts.map +1 -0
- package/lib/typescript/module/types/index.d.ts +3 -0
- package/lib/typescript/module/types/index.d.ts.map +1 -0
- package/lib/typescript/module/utils/address.d.ts +45 -0
- package/lib/typescript/module/utils/address.d.ts.map +1 -0
- package/lib/typescript/module/utils/hash.d.ts +18 -0
- package/lib/typescript/module/utils/hash.d.ts.map +1 -0
- package/lib/typescript/module/utils/helpers.d.ts +26 -0
- package/lib/typescript/module/utils/helpers.d.ts.map +1 -0
- package/lib/typescript/module/utils/index.d.ts +6 -0
- package/lib/typescript/module/utils/index.d.ts.map +1 -0
- package/lib/typescript/module/utils/timestamp.d.ts +13 -0
- package/lib/typescript/module/utils/timestamp.d.ts.map +1 -0
- package/lib/typescript/module/utils/trafficSource.d.ts +46 -0
- package/lib/typescript/module/utils/trafficSource.d.ts.map +1 -0
- package/lib/typescript/module/version.d.ts +2 -0
- package/lib/typescript/module/version.d.ts.map +1 -0
- package/package.json +44 -49
- package/src/FormoAnalytics.ts +118 -16
- package/src/constants/events.ts +4 -0
- package/src/constants/storage.ts +7 -0
- package/src/lib/event/EventFactory.ts +129 -29
- package/src/lib/event/EventQueue.ts +14 -0
- package/src/lib/event/types.ts +0 -1
- package/src/lib/installReferrer/index.ts +225 -0
- package/src/lib/lifecycle/index.ts +10 -1
- package/src/lib/wagmi/WagmiEventHandler.ts +0 -4
- package/src/solana/address.ts +122 -0
- package/src/solana/index.ts +2 -0
- package/src/solana/types.ts +46 -0
- package/src/types/base.ts +41 -1
- package/src/types/events.ts +1 -1
- package/src/utils/address.ts +72 -6
- package/src/utils/hash.ts +51 -6
- package/src/utils/trafficSource.ts +73 -0
- package/src/version.ts +1 -1
- package/lib/typescript/FormoAnalytics.d.ts.map +0 -1
- package/lib/typescript/FormoAnalyticsProvider.d.ts.map +0 -1
- package/lib/typescript/constants/config.d.ts.map +0 -1
- package/lib/typescript/constants/events.d.ts.map +0 -1
- package/lib/typescript/constants/index.d.ts.map +0 -1
- package/lib/typescript/constants/storage.d.ts.map +0 -1
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/lib/consent/index.d.ts.map +0 -1
- package/lib/typescript/lib/event/EventFactory.d.ts.map +0 -1
- package/lib/typescript/lib/event/EventManager.d.ts.map +0 -1
- package/lib/typescript/lib/event/EventQueue.d.ts.map +0 -1
- package/lib/typescript/lib/event/index.d.ts.map +0 -1
- package/lib/typescript/lib/event/types.d.ts.map +0 -1
- package/lib/typescript/lib/lifecycle/index.d.ts.map +0 -1
- package/lib/typescript/lib/logger/index.d.ts.map +0 -1
- package/lib/typescript/lib/session/index.d.ts.map +0 -1
- package/lib/typescript/lib/storage/AsyncStorageAdapter.d.ts.map +0 -1
- package/lib/typescript/lib/storage/MemoryStorage.d.ts.map +0 -1
- package/lib/typescript/lib/storage/StorageBlueprint.d.ts.map +0 -1
- package/lib/typescript/lib/storage/StorageManager.d.ts.map +0 -1
- package/lib/typescript/lib/storage/index.d.ts.map +0 -1
- package/lib/typescript/lib/storage/types.d.ts.map +0 -1
- package/lib/typescript/lib/wagmi/WagmiEventHandler.d.ts.map +0 -1
- package/lib/typescript/lib/wagmi/index.d.ts.map +0 -1
- package/lib/typescript/lib/wagmi/types.d.ts.map +0 -1
- package/lib/typescript/types/base.d.ts.map +0 -1
- package/lib/typescript/types/events.d.ts.map +0 -1
- package/lib/typescript/types/index.d.ts.map +0 -1
- package/lib/typescript/utils/address.d.ts +0 -25
- package/lib/typescript/utils/address.d.ts.map +0 -1
- package/lib/typescript/utils/hash.d.ts +0 -10
- package/lib/typescript/utils/hash.d.ts.map +0 -1
- package/lib/typescript/utils/helpers.d.ts.map +0 -1
- package/lib/typescript/utils/index.d.ts.map +0 -1
- package/lib/typescript/utils/timestamp.d.ts.map +0 -1
- package/lib/typescript/utils/trafficSource.d.ts.map +0 -1
- package/lib/typescript/version.d.ts +0 -2
- package/lib/typescript/version.d.ts.map +0 -1
- /package/lib/typescript/{FormoAnalyticsProvider.d.ts → commonjs/FormoAnalyticsProvider.d.ts} +0 -0
- /package/lib/typescript/{constants → commonjs/constants}/config.d.ts +0 -0
- /package/lib/typescript/{constants → commonjs/constants}/index.d.ts +0 -0
- /package/lib/typescript/{index.d.ts → commonjs/index.d.ts} +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/consent/index.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/event/EventManager.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/event/EventQueue.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/event/index.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/lifecycle/index.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/logger/index.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/session/index.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/storage/AsyncStorageAdapter.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/storage/MemoryStorage.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/storage/StorageBlueprint.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/storage/StorageManager.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/storage/index.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/storage/types.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/wagmi/index.d.ts +0 -0
- /package/lib/typescript/{lib → commonjs/lib}/wagmi/types.d.ts +0 -0
- /package/lib/typescript/{types → commonjs/types}/index.d.ts +0 -0
- /package/lib/typescript/{utils → commonjs/utils}/helpers.d.ts +0 -0
- /package/lib/typescript/{utils → commonjs/utils}/index.d.ts +0 -0
- /package/lib/typescript/{utils → commonjs/utils}/timestamp.d.ts +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
var _base = require("./base");
|
|
6
|
+
var _base = require("./base.js");
|
|
7
7
|
Object.keys(_base).forEach(function (key) {
|
|
8
8
|
if (key === "default" || key === "__esModule") return;
|
|
9
9
|
if (key in exports && exports[key] === _base[key]) return;
|
|
@@ -14,7 +14,7 @@ Object.keys(_base).forEach(function (key) {
|
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
});
|
|
17
|
-
var _events = require("./events");
|
|
17
|
+
var _events = require("./events.js");
|
|
18
18
|
Object.keys(_events).forEach(function (key) {
|
|
19
19
|
if (key === "default" || key === "__esModule") return;
|
|
20
20
|
if (key in exports && exports[key] === _events[key]) return;
|
|
@@ -7,12 +7,18 @@ exports.getValidAddress = getValidAddress;
|
|
|
7
7
|
exports.isBlockedAddress = isBlockedAddress;
|
|
8
8
|
exports.isValidAddress = isValidAddress;
|
|
9
9
|
exports.toChecksumAddress = toChecksumAddress;
|
|
10
|
+
exports.validateAddress = validateAddress;
|
|
11
|
+
exports.validateAndChecksumAddress = validateAndChecksumAddress;
|
|
10
12
|
var _keccak = require("ethereum-cryptography/keccak.js");
|
|
11
13
|
var _utils = require("ethereum-cryptography/utils.js");
|
|
14
|
+
var _address = require("../solana/address.js");
|
|
15
|
+
var _types = require("../solana/types.js");
|
|
12
16
|
/**
|
|
13
17
|
* Address validation and checksum utilities
|
|
14
18
|
*
|
|
15
|
-
*
|
|
19
|
+
* Supports both EVM and Solana addresses.
|
|
20
|
+
*
|
|
21
|
+
* Uses ethereum-cryptography for proper EIP-55 checksum computation.
|
|
16
22
|
*/
|
|
17
23
|
|
|
18
24
|
/**
|
|
@@ -23,7 +29,7 @@ function toHex(bytes) {
|
|
|
23
29
|
}
|
|
24
30
|
|
|
25
31
|
/**
|
|
26
|
-
* Check if a string is a valid Ethereum address
|
|
32
|
+
* Check if a string is a valid Ethereum (EVM) address
|
|
27
33
|
*/
|
|
28
34
|
function isValidAddress(address) {
|
|
29
35
|
if (!address) return false;
|
|
@@ -58,7 +64,7 @@ function toChecksumAddress(address) {
|
|
|
58
64
|
}
|
|
59
65
|
|
|
60
66
|
/**
|
|
61
|
-
* Get valid address or null
|
|
67
|
+
* Get a valid (trimmed) EVM address, or null if invalid.
|
|
62
68
|
*/
|
|
63
69
|
function getValidAddress(address) {
|
|
64
70
|
if (!address) return null;
|
|
@@ -68,15 +74,63 @@ function getValidAddress(address) {
|
|
|
68
74
|
}
|
|
69
75
|
|
|
70
76
|
/**
|
|
71
|
-
*
|
|
77
|
+
* Validates an EVM address and returns it in checksummed format.
|
|
78
|
+
*/
|
|
79
|
+
function validateAndChecksumAddress(address) {
|
|
80
|
+
const validAddress = getValidAddress(address);
|
|
81
|
+
return validAddress ? toChecksumAddress(validAddress) : undefined;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Validates an address for both EVM and Solana chains.
|
|
86
|
+
*
|
|
87
|
+
* For EVM addresses, returns checksummed format.
|
|
88
|
+
* For Solana addresses, returns the Base58 address as-is.
|
|
89
|
+
*
|
|
90
|
+
* When chainId is explicitly provided, validation is strict:
|
|
91
|
+
* - Solana chainId → only Solana validation
|
|
92
|
+
* - Non-Solana chainId → only EVM validation
|
|
93
|
+
*
|
|
94
|
+
* When chainId is omitted, EVM is tried first with Solana fallback.
|
|
95
|
+
*/
|
|
96
|
+
function validateAddress(address, chainId) {
|
|
97
|
+
// Explicit Solana chainId → validate ONLY as Solana
|
|
98
|
+
if (chainId !== undefined && chainId !== null && (0, _types.isSolanaChainId)(chainId)) {
|
|
99
|
+
return (0, _address.getValidSolanaAddress)(address) || undefined;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Explicit non-Solana chainId → validate ONLY as EVM
|
|
103
|
+
if (chainId !== undefined && chainId !== null) {
|
|
104
|
+
return validateAndChecksumAddress(address);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// No chainId → try EVM first, then Solana fallback
|
|
108
|
+
const validEvmAddress = validateAndChecksumAddress(address);
|
|
109
|
+
if (validEvmAddress) {
|
|
110
|
+
return validEvmAddress;
|
|
111
|
+
}
|
|
112
|
+
return (0, _address.getValidSolanaAddress)(address) || undefined;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Blocked EVM addresses that should not emit events
|
|
72
117
|
* (zero address, dead address)
|
|
73
118
|
*/
|
|
74
119
|
const BLOCKED_ADDRESSES = new Set(["0x0000000000000000000000000000000000000000", "0x000000000000000000000000000000000000dead"]);
|
|
75
120
|
|
|
76
121
|
/**
|
|
77
|
-
* Check if address is in blocked list
|
|
122
|
+
* Check if an address is in a blocked list.
|
|
123
|
+
* Handles both EVM (zero/dead addresses) and Solana (system program) blocks.
|
|
78
124
|
*/
|
|
79
125
|
function isBlockedAddress(address) {
|
|
80
|
-
|
|
126
|
+
if (!address || typeof address !== "string") return false;
|
|
127
|
+
const trimmed = address.trim();
|
|
128
|
+
if (isValidAddress(trimmed)) {
|
|
129
|
+
return BLOCKED_ADDRESSES.has(trimmed.toLowerCase());
|
|
130
|
+
}
|
|
131
|
+
if ((0, _address.isSolanaAddress)(trimmed)) {
|
|
132
|
+
return (0, _address.isBlockedSolanaAddress)(trimmed);
|
|
133
|
+
}
|
|
134
|
+
return false;
|
|
81
135
|
}
|
|
82
136
|
//# sourceMappingURL=address.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_keccak","require","_utils","toHex","bytes","Array","from","map","b","toString","padStart","join","isValidAddress","address","test","toChecksumAddress","lowercaseAddress","toLowerCase","replace","hash","keccak256","utf8ToBytes","checksumAddress","i","length","char","parseInt","toUpperCase","getValidAddress","trimmed","trim","BLOCKED_ADDRESSES","Set","isBlockedAddress","has"],"sourceRoot":"../../../src","sources":["utils/address.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_keccak","require","_utils","_address","_types","toHex","bytes","Array","from","map","b","toString","padStart","join","isValidAddress","address","test","toChecksumAddress","lowercaseAddress","toLowerCase","replace","hash","keccak256","utf8ToBytes","checksumAddress","i","length","char","parseInt","toUpperCase","getValidAddress","trimmed","trim","validateAndChecksumAddress","validAddress","undefined","validateAddress","chainId","isSolanaChainId","getValidSolanaAddress","validEvmAddress","BLOCKED_ADDRESSES","Set","isBlockedAddress","has","isSolanaAddress","isBlockedSolanaAddress"],"sourceRoot":"../../../src","sources":["utils/address.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,14 +17,52 @@ async function hash(input) {
|
|
|
17
17
|
return (0, _utils.bytesToHex)(hashBytes);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
// Monotonic counter for the no-Web-Crypto fallback below. Guarantees the
|
|
21
|
+
// fallback produces distinct ids even for calls within the same millisecond.
|
|
22
|
+
let uuidFallbackCounter = 0;
|
|
23
|
+
|
|
24
|
+
/** Format 16 bytes as a UUID v4 string (sets the version + variant bits). */
|
|
25
|
+
function formatUuidV4(source) {
|
|
26
|
+
const bytes = source.slice(0, 16);
|
|
27
|
+
bytes[6] = (bytes[6] ?? 0) & 0x0f | 0x40; // version 4
|
|
28
|
+
bytes[8] = (bytes[8] ?? 0) & 0x3f | 0x80; // variant 10xx
|
|
29
|
+
const hex = Array.from(bytes, b => b.toString(16).padStart(2, "0")).join("");
|
|
30
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20, 32)}`;
|
|
31
|
+
}
|
|
32
|
+
|
|
20
33
|
/**
|
|
21
|
-
* Generate a UUID v4
|
|
34
|
+
* Generate a UUID v4.
|
|
35
|
+
*
|
|
36
|
+
* Uses a cryptographically secure RNG (Web Crypto), which is present in React
|
|
37
|
+
* Native whenever the app polyfills it via `react-native-get-random-values` —
|
|
38
|
+
* wallet apps using wagmi/viem already do, since those require secure randomness.
|
|
39
|
+
* On a runtime with no Web Crypto at all, derives a unique id from a monotonic
|
|
40
|
+
* counter + timestamp via SHA-256 (no PRNG) so the SDK never throws; that path
|
|
41
|
+
* is not cryptographically random, but it is only ever reached without Web
|
|
42
|
+
* Crypto, and these IDs are analytics identifiers, not security tokens.
|
|
22
43
|
*/
|
|
23
44
|
function generateUUID() {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
45
|
+
const webCrypto = globalThis.crypto;
|
|
46
|
+
|
|
47
|
+
// Fastest secure path: native randomUUID.
|
|
48
|
+
if (typeof webCrypto?.randomUUID === "function") {
|
|
49
|
+
return webCrypto.randomUUID();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Secure random bytes formatted as a UUID v4.
|
|
53
|
+
if (typeof webCrypto?.getRandomValues === "function") {
|
|
54
|
+
return formatUuidV4(webCrypto.getRandomValues(new Uint8Array(16)));
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// No Web Crypto available: derive a UUID from a monotonic counter + timestamp
|
|
58
|
+
// + Math.random, hashed with SHA-256. Math.random is not cryptographically
|
|
59
|
+
// secure — CodeQL flags it, and that alert is intentionally dismissed: these
|
|
60
|
+
// are analytics identifiers, not security tokens, and this branch is only
|
|
61
|
+
// reached on runtimes without a Web Crypto polyfill. The Math.random term
|
|
62
|
+
// restores the cross-process entropy needed so two fresh app processes that
|
|
63
|
+
// make their first call within the same millisecond do not collide (the
|
|
64
|
+
// counter alone only prevents collisions within a single process).
|
|
65
|
+
uuidFallbackCounter = uuidFallbackCounter + 1 >>> 0;
|
|
66
|
+
return formatUuidV4((0, _sha.sha256)((0, _utils.utf8ToBytes)(`${Date.now()}-${uuidFallbackCounter}-${Math.random()}`)));
|
|
29
67
|
}
|
|
30
68
|
//# sourceMappingURL=hash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_sha","require","_utils","hash","input","bytes","utf8ToBytes","hashBytes","sha256","bytesToHex","
|
|
1
|
+
{"version":3,"names":["_sha","require","_utils","hash","input","bytes","utf8ToBytes","hashBytes","sha256","bytesToHex","uuidFallbackCounter","formatUuidV4","source","slice","hex","Array","from","b","toString","padStart","join","generateUUID","webCrypto","globalThis","crypto","randomUUID","getRandomValues","Uint8Array","Date","now","Math","random"],"sourceRoot":"../../../src","sources":["utils/hash.ts"],"mappings":";;;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACO,eAAeE,IAAIA,CAACC,KAAa,EAAmB;EACzD,MAAMC,KAAK,GAAG,IAAAC,kBAAW,EAACF,KAAK,CAAC;EAChC,MAAMG,SAAS,GAAG,IAAAC,WAAM,EAACH,KAAK,CAAC;EAC/B,OAAO,IAAAI,iBAAU,EAACF,SAAS,CAAC;AAC9B;;AAEA;AACA;AACA,IAAIG,mBAAmB,GAAG,CAAC;;AAE3B;AACA,SAASC,YAAYA,CAACC,MAAkB,EAAU;EAChD,MAAMP,KAAK,GAAGO,MAAM,CAACC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;EACjCR,KAAK,CAAC,CAAC,CAAC,GAAI,CAACA,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,GAAI,IAAI,CAAC,CAAC;EAC5CA,KAAK,CAAC,CAAC,CAAC,GAAI,CAACA,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,GAAI,IAAI,CAAC,CAAC;EAC5C,MAAMS,GAAG,GAAGC,KAAK,CAACC,IAAI,CAACX,KAAK,EAAGY,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;EAC9E,OAAO,GAAGN,GAAG,CAACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAIC,GAAG,CAACD,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAIC,GAAG,CAACD,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAIC,GAAG,CAACD,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAIC,GAAG,CAACD,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;AAChH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASQ,YAAYA,CAAA,EAAW;EACrC,MAAMC,SAGO,GAAIC,UAAU,CAA0BC,MAExC;;EAEb;EACA,IAAI,OAAOF,SAAS,EAAEG,UAAU,KAAK,UAAU,EAAE;IAC/C,OAAOH,SAAS,CAACG,UAAU,CAAC,CAAC;EAC/B;;EAEA;EACA,IAAI,OAAOH,SAAS,EAAEI,eAAe,KAAK,UAAU,EAAE;IACpD,OAAOf,YAAY,CAACW,SAAS,CAACI,eAAe,CAAC,IAAIC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;EACpE;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAjB,mBAAmB,GAAIA,mBAAmB,GAAG,CAAC,KAAM,CAAC;EACrD,OAAOC,YAAY,CACjB,IAAAH,WAAM,EAAC,IAAAF,kBAAW,EAAC,GAAGsB,IAAI,CAACC,GAAG,CAAC,CAAC,IAAInB,mBAAmB,IAAIoB,IAAI,CAACC,MAAM,CAAC,CAAC,EAAE,CAAC,CAC7E,CAAC;AACH","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
var _address = require("./address");
|
|
6
|
+
var _address = require("./address.js");
|
|
7
7
|
Object.keys(_address).forEach(function (key) {
|
|
8
8
|
if (key === "default" || key === "__esModule") return;
|
|
9
9
|
if (key in exports && exports[key] === _address[key]) return;
|
|
@@ -14,7 +14,7 @@ Object.keys(_address).forEach(function (key) {
|
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
});
|
|
17
|
-
var _hash = require("./hash");
|
|
17
|
+
var _hash = require("./hash.js");
|
|
18
18
|
Object.keys(_hash).forEach(function (key) {
|
|
19
19
|
if (key === "default" || key === "__esModule") return;
|
|
20
20
|
if (key in exports && exports[key] === _hash[key]) return;
|
|
@@ -25,7 +25,7 @@ Object.keys(_hash).forEach(function (key) {
|
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
27
|
});
|
|
28
|
-
var _timestamp = require("./timestamp");
|
|
28
|
+
var _timestamp = require("./timestamp.js");
|
|
29
29
|
Object.keys(_timestamp).forEach(function (key) {
|
|
30
30
|
if (key === "default" || key === "__esModule") return;
|
|
31
31
|
if (key in exports && exports[key] === _timestamp[key]) return;
|
|
@@ -36,7 +36,7 @@ Object.keys(_timestamp).forEach(function (key) {
|
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
|
-
var _helpers = require("./helpers");
|
|
39
|
+
var _helpers = require("./helpers.js");
|
|
40
40
|
Object.keys(_helpers).forEach(function (key) {
|
|
41
41
|
if (key === "default" || key === "__esModule") return;
|
|
42
42
|
if (key in exports && exports[key] === _helpers[key]) return;
|
|
@@ -47,7 +47,7 @@ Object.keys(_helpers).forEach(function (key) {
|
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
|
-
var _trafficSource = require("./trafficSource");
|
|
50
|
+
var _trafficSource = require("./trafficSource.js");
|
|
51
51
|
Object.keys(_trafficSource).forEach(function (key) {
|
|
52
52
|
if (key === "default" || key === "__esModule") return;
|
|
53
53
|
if (key in exports && exports[key] === _trafficSource[key]) return;
|
|
@@ -5,12 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.clearTrafficSource = clearTrafficSource;
|
|
7
7
|
exports.getStoredTrafficSource = getStoredTrafficSource;
|
|
8
|
+
exports.mergeTrafficSourceFill = mergeTrafficSourceFill;
|
|
8
9
|
exports.mergeWithStoredTrafficSource = mergeWithStoredTrafficSource;
|
|
9
10
|
exports.parseTrafficSource = parseTrafficSource;
|
|
10
11
|
exports.storeTrafficSource = storeTrafficSource;
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
var
|
|
12
|
+
exports.updateStoredTrafficSource = updateStoredTrafficSource;
|
|
13
|
+
var _index = require("../lib/logger/index.js");
|
|
14
|
+
var _index2 = require("../lib/storage/index.js");
|
|
15
|
+
var _index3 = require("../constants/index.js");
|
|
14
16
|
/**
|
|
15
17
|
* Traffic Source Utilities
|
|
16
18
|
* Parse UTM parameters and referral information from URLs
|
|
@@ -68,7 +70,7 @@ function parseTrafficSource(url, customRefParams, pathPattern) {
|
|
|
68
70
|
trafficSource.ref = match[1];
|
|
69
71
|
}
|
|
70
72
|
} catch (e) {
|
|
71
|
-
|
|
73
|
+
_index.logger.error("Error parsing pathPattern for referral:", e);
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
76
|
|
|
@@ -76,7 +78,7 @@ function parseTrafficSource(url, customRefParams, pathPattern) {
|
|
|
76
78
|
trafficSource.referrer = url;
|
|
77
79
|
return trafficSource;
|
|
78
80
|
} catch (error) {
|
|
79
|
-
|
|
81
|
+
_index.logger.error("Error parsing traffic source from URL:", error);
|
|
80
82
|
return {
|
|
81
83
|
referrer: url
|
|
82
84
|
};
|
|
@@ -92,11 +94,11 @@ function storeTrafficSource(trafficSource) {
|
|
|
92
94
|
// Check if we have meaningful data to store (not just referrer)
|
|
93
95
|
const hasData = trafficSource.utm_source || trafficSource.utm_medium || trafficSource.utm_campaign || trafficSource.utm_term || trafficSource.utm_content || trafficSource.ref;
|
|
94
96
|
if (hasData || trafficSource.referrer) {
|
|
95
|
-
(0,
|
|
96
|
-
|
|
97
|
+
(0, _index2.storage)().set(_index3.SESSION_TRAFFIC_SOURCE_KEY, JSON.stringify(trafficSource));
|
|
98
|
+
_index.logger.debug("Stored traffic source:", trafficSource);
|
|
97
99
|
}
|
|
98
100
|
} catch (error) {
|
|
99
|
-
|
|
101
|
+
_index.logger.error("Error storing traffic source:", error);
|
|
100
102
|
}
|
|
101
103
|
}
|
|
102
104
|
|
|
@@ -106,12 +108,12 @@ function storeTrafficSource(trafficSource) {
|
|
|
106
108
|
*/
|
|
107
109
|
function getStoredTrafficSource() {
|
|
108
110
|
try {
|
|
109
|
-
const stored = (0,
|
|
111
|
+
const stored = (0, _index2.storage)().get(_index3.SESSION_TRAFFIC_SOURCE_KEY);
|
|
110
112
|
if (stored && typeof stored === "string") {
|
|
111
113
|
return JSON.parse(stored);
|
|
112
114
|
}
|
|
113
115
|
} catch (error) {
|
|
114
|
-
|
|
116
|
+
_index.logger.debug("Failed to get stored traffic source:", error);
|
|
115
117
|
}
|
|
116
118
|
return undefined;
|
|
117
119
|
}
|
|
@@ -121,10 +123,10 @@ function getStoredTrafficSource() {
|
|
|
121
123
|
*/
|
|
122
124
|
function clearTrafficSource() {
|
|
123
125
|
try {
|
|
124
|
-
(0,
|
|
125
|
-
|
|
126
|
+
(0, _index2.storage)().remove(_index3.SESSION_TRAFFIC_SOURCE_KEY);
|
|
127
|
+
_index.logger.debug("Cleared traffic source from session");
|
|
126
128
|
} catch (error) {
|
|
127
|
-
|
|
129
|
+
_index.logger.error("Error clearing traffic source:", error);
|
|
128
130
|
}
|
|
129
131
|
}
|
|
130
132
|
|
|
@@ -144,4 +146,63 @@ function mergeWithStoredTrafficSource(context) {
|
|
|
144
146
|
...(context || {})
|
|
145
147
|
};
|
|
146
148
|
}
|
|
149
|
+
|
|
150
|
+
/** All traffic-source keys used for merge operations. */
|
|
151
|
+
const TRAFFIC_SOURCE_KEYS = ["utm_source", "utm_medium", "utm_campaign", "utm_term", "utm_content", "ref", "referrer"];
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Update stored traffic source with incoming values. Per-field last-touch with
|
|
155
|
+
* fallback: non-empty incoming fields win, empty incoming fields preserve the
|
|
156
|
+
* previously stored value. This matches the Formo web SDK's behavior and
|
|
157
|
+
* prevents a non-marketing deep link (e.g. "myapp://home" with only a referrer
|
|
158
|
+
* and no UTM/ref) from destroying existing attribution data written by the
|
|
159
|
+
* Install Referrer flow or an earlier marketing deep link.
|
|
160
|
+
*/
|
|
161
|
+
function updateStoredTrafficSource(incoming) {
|
|
162
|
+
try {
|
|
163
|
+
const existing = getStoredTrafficSource() || {};
|
|
164
|
+
const merged = {};
|
|
165
|
+
for (const key of TRAFFIC_SOURCE_KEYS) {
|
|
166
|
+
const incomingVal = incoming[key];
|
|
167
|
+
const existingVal = existing[key];
|
|
168
|
+
if (incomingVal) {
|
|
169
|
+
merged[key] = incomingVal;
|
|
170
|
+
} else if (existingVal) {
|
|
171
|
+
merged[key] = existingVal;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
storeTrafficSource(merged);
|
|
175
|
+
} catch (error) {
|
|
176
|
+
_index.logger.error("Error updating traffic source:", error);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Merge a partial traffic source into the stored one, only filling in fields
|
|
182
|
+
* that are currently empty. Used by the Install Referrer flow so campaign data
|
|
183
|
+
* from the Play Store install referrer cannot clobber a deep-link attribution
|
|
184
|
+
* that arrived earlier in the same cold start.
|
|
185
|
+
*/
|
|
186
|
+
function mergeTrafficSourceFill(incoming) {
|
|
187
|
+
try {
|
|
188
|
+
const existing = getStoredTrafficSource() || {};
|
|
189
|
+
const merged = {
|
|
190
|
+
...existing
|
|
191
|
+
};
|
|
192
|
+
let changed = false;
|
|
193
|
+
for (const [key, value] of Object.entries(incoming)) {
|
|
194
|
+
if (!value) continue; // skip empty/undefined incoming values
|
|
195
|
+
const existing = merged[key];
|
|
196
|
+
if (existing === undefined || existing === null || existing === "") {
|
|
197
|
+
merged[key] = String(value);
|
|
198
|
+
changed = true;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if (changed) {
|
|
202
|
+
storeTrafficSource(merged);
|
|
203
|
+
}
|
|
204
|
+
} catch (error) {
|
|
205
|
+
_index.logger.error("Error merging traffic source:", error);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
147
208
|
//# sourceMappingURL=trafficSource.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_index","require","_index2","_index3","parseTrafficSource","url","customRefParams","pathPattern","urlObj","URL","queryStart","indexOf","referrer","substring","params","searchParams","trafficSource","has","utm_source","get","utm_medium","utm_campaign","utm_term","utm_content","defaultRefParams","refParams","Set","param","ref","pathRegex","RegExp","pathname","match","e","logger","error","storeTrafficSource","hasData","storage","set","SESSION_TRAFFIC_SOURCE_KEY","JSON","stringify","debug","getStoredTrafficSource","stored","parse","undefined","clearTrafficSource","remove","mergeWithStoredTrafficSource","context","TRAFFIC_SOURCE_KEYS","updateStoredTrafficSource","incoming","existing","merged","key","incomingVal","existingVal","mergeTrafficSourceFill","changed","value","Object","entries","String"],"sourceRoot":"../../../src","sources":["utils/trafficSource.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/version.js
CHANGED
|
@@ -6,5 +6,5 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.version = void 0;
|
|
7
7
|
// This file is auto-generated by scripts/update-version.js during npm version
|
|
8
8
|
// Do not edit manually - it will be overwritten
|
|
9
|
-
const version = exports.version = '0.
|
|
9
|
+
const version = exports.version = '1.0.0';
|
|
10
10
|
//# sourceMappingURL=version.js.map
|