@formo/analytics-react-native 0.1.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 +302 -0
- package/lib/commonjs/FormoAnalytics.js +526 -0
- package/lib/commonjs/FormoAnalytics.js.map +1 -0
- package/lib/commonjs/FormoAnalyticsProvider.js +265 -0
- package/lib/commonjs/FormoAnalyticsProvider.js.map +1 -0
- package/lib/commonjs/constants/config.js +69 -0
- package/lib/commonjs/constants/config.js.map +1 -0
- package/lib/commonjs/constants/events.js +30 -0
- package/lib/commonjs/constants/events.js.map +1 -0
- package/lib/commonjs/constants/index.js +39 -0
- package/lib/commonjs/constants/index.js.map +1 -0
- package/lib/commonjs/constants/storage.js +23 -0
- package/lib/commonjs/constants/storage.js.map +1 -0
- package/lib/commonjs/index.js +65 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/lib/consent/index.js +56 -0
- package/lib/commonjs/lib/consent/index.js.map +1 -0
- package/lib/commonjs/lib/event/EventFactory.js +493 -0
- package/lib/commonjs/lib/event/EventFactory.js.map +1 -0
- package/lib/commonjs/lib/event/EventManager.js +46 -0
- package/lib/commonjs/lib/event/EventManager.js.map +1 -0
- package/lib/commonjs/lib/event/EventQueue.js +290 -0
- package/lib/commonjs/lib/event/EventQueue.js.map +1 -0
- package/lib/commonjs/lib/event/index.js +50 -0
- package/lib/commonjs/lib/event/index.js.map +1 -0
- package/lib/commonjs/lib/event/types.js +6 -0
- package/lib/commonjs/lib/event/types.js.map +1 -0
- package/lib/commonjs/lib/lifecycle/index.js +196 -0
- package/lib/commonjs/lib/lifecycle/index.js.map +1 -0
- package/lib/commonjs/lib/logger/index.js +48 -0
- package/lib/commonjs/lib/logger/index.js.map +1 -0
- package/lib/commonjs/lib/session/index.js +109 -0
- package/lib/commonjs/lib/session/index.js.map +1 -0
- package/lib/commonjs/lib/storage/AsyncStorageAdapter.js +164 -0
- package/lib/commonjs/lib/storage/AsyncStorageAdapter.js.map +1 -0
- package/lib/commonjs/lib/storage/MemoryStorage.js +41 -0
- package/lib/commonjs/lib/storage/MemoryStorage.js.map +1 -0
- package/lib/commonjs/lib/storage/StorageBlueprint.js +24 -0
- package/lib/commonjs/lib/storage/StorageBlueprint.js.map +1 -0
- package/lib/commonjs/lib/storage/StorageManager.js +126 -0
- package/lib/commonjs/lib/storage/StorageManager.js.map +1 -0
- package/lib/commonjs/lib/storage/index.js +49 -0
- package/lib/commonjs/lib/storage/index.js.map +1 -0
- package/lib/commonjs/lib/storage/types.js +2 -0
- package/lib/commonjs/lib/storage/types.js.map +1 -0
- package/lib/commonjs/lib/wagmi/WagmiEventHandler.js +445 -0
- package/lib/commonjs/lib/wagmi/WagmiEventHandler.js.map +1 -0
- package/lib/commonjs/lib/wagmi/index.js +28 -0
- package/lib/commonjs/lib/wagmi/index.js.map +1 -0
- package/lib/commonjs/lib/wagmi/types.js +2 -0
- package/lib/commonjs/lib/wagmi/types.js.map +1 -0
- package/lib/commonjs/types/base.js +6 -0
- package/lib/commonjs/types/base.js.map +1 -0
- package/lib/commonjs/types/events.js +22 -0
- package/lib/commonjs/types/events.js.map +1 -0
- package/lib/commonjs/types/index.js +28 -0
- package/lib/commonjs/types/index.js.map +1 -0
- package/lib/commonjs/utils/address.js +82 -0
- package/lib/commonjs/utils/address.js.map +1 -0
- package/lib/commonjs/utils/hash.js +30 -0
- package/lib/commonjs/utils/hash.js.map +1 -0
- package/lib/commonjs/utils/helpers.js +116 -0
- package/lib/commonjs/utils/helpers.js.map +1 -0
- package/lib/commonjs/utils/index.js +61 -0
- package/lib/commonjs/utils/index.js.map +1 -0
- package/lib/commonjs/utils/timestamp.js +34 -0
- package/lib/commonjs/utils/timestamp.js.map +1 -0
- package/lib/commonjs/utils/trafficSource.js +147 -0
- package/lib/commonjs/utils/trafficSource.js.map +1 -0
- package/lib/commonjs/version.js +10 -0
- package/lib/commonjs/version.js.map +1 -0
- package/lib/module/FormoAnalytics.js +519 -0
- package/lib/module/FormoAnalytics.js.map +1 -0
- package/lib/module/FormoAnalyticsProvider.js +256 -0
- package/lib/module/FormoAnalyticsProvider.js.map +1 -0
- package/lib/module/constants/config.js +62 -0
- package/lib/module/constants/config.js.map +1 -0
- package/lib/module/constants/events.js +24 -0
- package/lib/module/constants/events.js.map +1 -0
- package/lib/module/constants/index.js +4 -0
- package/lib/module/constants/index.js.map +1 -0
- package/lib/module/constants/storage.js +17 -0
- package/lib/module/constants/storage.js.map +1 -0
- package/lib/module/index.js +51 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/lib/consent/index.js +49 -0
- package/lib/module/lib/consent/index.js.map +1 -0
- package/lib/module/lib/event/EventFactory.js +488 -0
- package/lib/module/lib/event/EventFactory.js.map +1 -0
- package/lib/module/lib/event/EventManager.js +41 -0
- package/lib/module/lib/event/EventManager.js.map +1 -0
- package/lib/module/lib/event/EventQueue.js +283 -0
- package/lib/module/lib/event/EventQueue.js.map +1 -0
- package/lib/module/lib/event/index.js +5 -0
- package/lib/module/lib/event/index.js.map +1 -0
- package/lib/module/lib/event/types.js +2 -0
- package/lib/module/lib/event/types.js.map +1 -0
- package/lib/module/lib/lifecycle/index.js +190 -0
- package/lib/module/lib/lifecycle/index.js.map +1 -0
- package/lib/module/lib/logger/index.js +42 -0
- package/lib/module/lib/logger/index.js.map +1 -0
- package/lib/module/lib/session/index.js +92 -0
- package/lib/module/lib/session/index.js.map +1 -0
- package/lib/module/lib/storage/AsyncStorageAdapter.js +158 -0
- package/lib/module/lib/storage/AsyncStorageAdapter.js.map +1 -0
- package/lib/module/lib/storage/MemoryStorage.js +35 -0
- package/lib/module/lib/storage/MemoryStorage.js.map +1 -0
- package/lib/module/lib/storage/StorageBlueprint.js +18 -0
- package/lib/module/lib/storage/StorageBlueprint.js.map +1 -0
- package/lib/module/lib/storage/StorageManager.js +115 -0
- package/lib/module/lib/storage/StorageManager.js.map +1 -0
- package/lib/module/lib/storage/index.js +5 -0
- package/lib/module/lib/storage/index.js.map +1 -0
- package/lib/module/lib/storage/types.js +2 -0
- package/lib/module/lib/storage/types.js.map +1 -0
- package/lib/module/lib/wagmi/WagmiEventHandler.js +439 -0
- package/lib/module/lib/wagmi/WagmiEventHandler.js.map +1 -0
- package/lib/module/lib/wagmi/index.js +3 -0
- package/lib/module/lib/wagmi/index.js.map +1 -0
- package/lib/module/lib/wagmi/types.js +2 -0
- package/lib/module/lib/wagmi/types.js.map +1 -0
- package/lib/module/types/base.js +2 -0
- package/lib/module/types/base.js.map +1 -0
- package/lib/module/types/events.js +17 -0
- package/lib/module/types/events.js.map +1 -0
- package/lib/module/types/index.js +3 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/module/utils/address.js +74 -0
- package/lib/module/utils/address.js.map +1 -0
- package/lib/module/utils/hash.js +24 -0
- package/lib/module/utils/hash.js.map +1 -0
- package/lib/module/utils/helpers.js +105 -0
- package/lib/module/utils/helpers.js.map +1 -0
- package/lib/module/utils/index.js +6 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/utils/timestamp.js +26 -0
- package/lib/module/utils/timestamp.js.map +1 -0
- package/lib/module/utils/trafficSource.js +137 -0
- package/lib/module/utils/trafficSource.js.map +1 -0
- package/lib/module/version.js +4 -0
- package/lib/module/version.js.map +1 -0
- package/lib/typescript/FormoAnalytics.d.ts +163 -0
- package/lib/typescript/FormoAnalytics.d.ts.map +1 -0
- package/lib/typescript/FormoAnalyticsProvider.d.ts +29 -0
- package/lib/typescript/FormoAnalyticsProvider.d.ts.map +1 -0
- package/lib/typescript/constants/config.d.ts +8 -0
- package/lib/typescript/constants/config.d.ts.map +1 -0
- package/lib/typescript/constants/events.d.ts +23 -0
- package/lib/typescript/constants/events.d.ts.map +1 -0
- package/lib/typescript/constants/index.d.ts +4 -0
- package/lib/typescript/constants/index.d.ts.map +1 -0
- package/lib/typescript/constants/storage.d.ts +10 -0
- package/lib/typescript/constants/storage.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +44 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/lib/consent/index.d.ts +13 -0
- package/lib/typescript/lib/consent/index.d.ts.map +1 -0
- package/lib/typescript/lib/event/EventFactory.d.ts +61 -0
- package/lib/typescript/lib/event/EventFactory.d.ts.map +1 -0
- package/lib/typescript/lib/event/EventManager.d.ts +17 -0
- package/lib/typescript/lib/event/EventManager.d.ts.map +1 -0
- package/lib/typescript/lib/event/EventQueue.d.ts +74 -0
- package/lib/typescript/lib/event/EventQueue.d.ts.map +1 -0
- package/lib/typescript/lib/event/index.d.ts +5 -0
- package/lib/typescript/lib/event/index.d.ts.map +1 -0
- package/lib/typescript/lib/event/types.d.ts +23 -0
- package/lib/typescript/lib/event/types.d.ts.map +1 -0
- package/lib/typescript/lib/lifecycle/index.d.ts +46 -0
- package/lib/typescript/lib/lifecycle/index.d.ts.map +1 -0
- package/lib/typescript/lib/logger/index.d.ts +19 -0
- package/lib/typescript/lib/logger/index.d.ts.map +1 -0
- package/lib/typescript/lib/session/index.d.ts +41 -0
- package/lib/typescript/lib/session/index.d.ts.map +1 -0
- package/lib/typescript/lib/storage/AsyncStorageAdapter.d.ts +48 -0
- package/lib/typescript/lib/storage/AsyncStorageAdapter.d.ts.map +1 -0
- package/lib/typescript/lib/storage/MemoryStorage.d.ts +18 -0
- package/lib/typescript/lib/storage/MemoryStorage.d.ts.map +1 -0
- package/lib/typescript/lib/storage/StorageBlueprint.d.ts +21 -0
- package/lib/typescript/lib/storage/StorageBlueprint.d.ts.map +1 -0
- package/lib/typescript/lib/storage/StorageManager.d.ts +45 -0
- package/lib/typescript/lib/storage/StorageManager.d.ts.map +1 -0
- package/lib/typescript/lib/storage/index.d.ts +5 -0
- package/lib/typescript/lib/storage/index.d.ts.map +1 -0
- package/lib/typescript/lib/storage/types.d.ts +22 -0
- package/lib/typescript/lib/storage/types.d.ts.map +1 -0
- package/lib/typescript/lib/wagmi/WagmiEventHandler.d.ts +104 -0
- package/lib/typescript/lib/wagmi/WagmiEventHandler.d.ts.map +1 -0
- package/lib/typescript/lib/wagmi/index.d.ts +3 -0
- package/lib/typescript/lib/wagmi/index.d.ts.map +1 -0
- package/lib/typescript/lib/wagmi/types.d.ts +54 -0
- package/lib/typescript/lib/wagmi/types.d.ts.map +1 -0
- package/lib/typescript/types/base.d.ts +219 -0
- package/lib/typescript/types/base.d.ts.map +1 -0
- package/lib/typescript/types/events.d.ts +111 -0
- package/lib/typescript/types/events.d.ts.map +1 -0
- package/lib/typescript/types/index.d.ts +3 -0
- package/lib/typescript/types/index.d.ts.map +1 -0
- package/lib/typescript/utils/address.d.ts +25 -0
- package/lib/typescript/utils/address.d.ts.map +1 -0
- package/lib/typescript/utils/hash.d.ts +10 -0
- package/lib/typescript/utils/hash.d.ts.map +1 -0
- package/lib/typescript/utils/helpers.d.ts +26 -0
- package/lib/typescript/utils/helpers.d.ts.map +1 -0
- package/lib/typescript/utils/index.d.ts +6 -0
- package/lib/typescript/utils/index.d.ts.map +1 -0
- package/lib/typescript/utils/timestamp.d.ts +13 -0
- package/lib/typescript/utils/timestamp.d.ts.map +1 -0
- package/lib/typescript/utils/trafficSource.d.ts +30 -0
- package/lib/typescript/utils/trafficSource.d.ts.map +1 -0
- package/lib/typescript/version.d.ts +2 -0
- package/lib/typescript/version.d.ts.map +1 -0
- package/package.json +143 -0
- package/src/FormoAnalytics.ts +685 -0
- package/src/FormoAnalyticsProvider.tsx +296 -0
- package/src/constants/config.ts +62 -0
- package/src/constants/events.ts +26 -0
- package/src/constants/index.ts +3 -0
- package/src/constants/storage.ts +16 -0
- package/src/index.ts +55 -0
- package/src/lib/consent/index.ts +52 -0
- package/src/lib/event/EventFactory.ts +682 -0
- package/src/lib/event/EventManager.ts +50 -0
- package/src/lib/event/EventQueue.ts +371 -0
- package/src/lib/event/index.ts +4 -0
- package/src/lib/event/types.ts +107 -0
- package/src/lib/lifecycle/index.ts +215 -0
- package/src/lib/logger/index.ts +56 -0
- package/src/lib/session/index.ts +103 -0
- package/src/lib/storage/AsyncStorageAdapter.ts +173 -0
- package/src/lib/storage/MemoryStorage.ts +43 -0
- package/src/lib/storage/StorageBlueprint.ts +30 -0
- package/src/lib/storage/StorageManager.ts +121 -0
- package/src/lib/storage/index.ts +4 -0
- package/src/lib/storage/types.ts +23 -0
- package/src/lib/wagmi/WagmiEventHandler.ts +574 -0
- package/src/lib/wagmi/index.ts +2 -0
- package/src/lib/wagmi/types.ts +71 -0
- package/src/types/base.ts +287 -0
- package/src/types/events.ts +140 -0
- package/src/types/index.ts +2 -0
- package/src/utils/address.ts +84 -0
- package/src/utils/hash.ts +23 -0
- package/src/utils/helpers.ts +139 -0
- package/src/utils/index.ts +5 -0
- package/src/utils/timestamp.ts +25 -0
- package/src/utils/trafficSource.ts +153 -0
- package/src/version.ts +3 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wagmi types for React Native SDK
|
|
3
|
+
*/
|
|
4
|
+
export interface WagmiState {
|
|
5
|
+
status: "connecting" | "connected" | "disconnected" | "reconnecting";
|
|
6
|
+
connections: Map<string, {
|
|
7
|
+
accounts: readonly string[];
|
|
8
|
+
chainId: number;
|
|
9
|
+
connector: {
|
|
10
|
+
name: string;
|
|
11
|
+
/** Connector ID - for EIP-6963 injected wallets, this is typically the rdns */
|
|
12
|
+
id: string;
|
|
13
|
+
type?: string;
|
|
14
|
+
icon?: string;
|
|
15
|
+
};
|
|
16
|
+
}>;
|
|
17
|
+
current?: string;
|
|
18
|
+
chainId?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface WagmiConfig {
|
|
21
|
+
subscribe: <T>(selector: (state: WagmiState) => T, listener: (selectedState: T, prevSelectedState: T) => void) => () => void;
|
|
22
|
+
getState?: () => WagmiState;
|
|
23
|
+
state?: WagmiState;
|
|
24
|
+
}
|
|
25
|
+
export interface QueryClient {
|
|
26
|
+
getMutationCache: () => MutationCache;
|
|
27
|
+
}
|
|
28
|
+
export interface MutationCache {
|
|
29
|
+
subscribe: (callback: (event: MutationCacheEvent) => void) => () => void;
|
|
30
|
+
}
|
|
31
|
+
export interface MutationCacheEvent {
|
|
32
|
+
type: "added" | "updated" | "removed";
|
|
33
|
+
mutation: {
|
|
34
|
+
mutationId: number;
|
|
35
|
+
options: {
|
|
36
|
+
mutationKey?: readonly string[];
|
|
37
|
+
};
|
|
38
|
+
state: {
|
|
39
|
+
status: "idle" | "pending" | "success" | "error";
|
|
40
|
+
data?: unknown;
|
|
41
|
+
error?: unknown;
|
|
42
|
+
variables?: Record<string, unknown>;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export type UnsubscribeFn = () => void;
|
|
47
|
+
export interface WagmiTrackingState {
|
|
48
|
+
isProcessing: boolean;
|
|
49
|
+
lastAddress?: string;
|
|
50
|
+
lastChainId?: number;
|
|
51
|
+
lastStatus?: WagmiState["status"];
|
|
52
|
+
}
|
|
53
|
+
export type WagmiMutationKey = "signMessage" | "signTypedData" | "sendTransaction" | "writeContract";
|
|
54
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/wagmi/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,CAAC;IACrE,WAAW,EAAE,GAAG,CACd,MAAM,EACN;QACE,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QAC5B,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE;YACT,IAAI,EAAE,MAAM,CAAC;YACb,+EAA+E;YAC/E,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CACF,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,CAAC,CAAC,EACX,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,CAAC,EAClC,QAAQ,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,KAAK,IAAI,KACvD,MAAM,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,UAAU,CAAC;IAC5B,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE,MAAM,aAAa,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;CAC1E;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACtC,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE;YACP,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;SACjC,CAAC;QACF,KAAK,EAAE;YACL,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;YACjD,IAAI,CAAC,EAAE,OAAO,CAAC;YACf,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACrC,CAAC;KACH,CAAC;CACH;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,eAAe,GACf,iBAAiB,GACjB,eAAe,CAAC"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { LogLevel } from "../lib/logger";
|
|
3
|
+
import { IFormoEventContext, IFormoEventProperties, SignatureStatus, TransactionStatus } from "./events";
|
|
4
|
+
export type Nullable<T> = T | null;
|
|
5
|
+
export type ChainID = number;
|
|
6
|
+
export type Address = string;
|
|
7
|
+
export type ValidInputTypes = Uint8Array | bigint | string | number | boolean;
|
|
8
|
+
export interface IFormoAnalytics {
|
|
9
|
+
screen(name: string, category?: string, properties?: IFormoEventProperties, context?: IFormoEventContext, callback?: (...args: unknown[]) => void): Promise<void>;
|
|
10
|
+
reset(): void;
|
|
11
|
+
cleanup(): Promise<void>;
|
|
12
|
+
detect(params: {
|
|
13
|
+
rdns: string;
|
|
14
|
+
providerName: string;
|
|
15
|
+
}, properties?: IFormoEventProperties, context?: IFormoEventContext, callback?: (...args: unknown[]) => void): Promise<void>;
|
|
16
|
+
connect(params: {
|
|
17
|
+
chainId: ChainID;
|
|
18
|
+
address: Address;
|
|
19
|
+
}, properties?: IFormoEventProperties, context?: IFormoEventContext, callback?: (...args: unknown[]) => void): Promise<void>;
|
|
20
|
+
disconnect(params?: {
|
|
21
|
+
chainId?: ChainID;
|
|
22
|
+
address?: Address;
|
|
23
|
+
}, properties?: IFormoEventProperties, context?: IFormoEventContext, callback?: (...args: unknown[]) => void): Promise<void>;
|
|
24
|
+
chain(params: {
|
|
25
|
+
chainId: ChainID;
|
|
26
|
+
address?: Address;
|
|
27
|
+
}, properties?: IFormoEventProperties, context?: IFormoEventContext, callback?: (...args: unknown[]) => void): Promise<void>;
|
|
28
|
+
signature(params: {
|
|
29
|
+
status: SignatureStatus;
|
|
30
|
+
chainId?: ChainID;
|
|
31
|
+
address: Address;
|
|
32
|
+
message: string;
|
|
33
|
+
signatureHash?: string;
|
|
34
|
+
}, properties?: IFormoEventProperties, context?: IFormoEventContext, callback?: (...args: unknown[]) => void): Promise<void>;
|
|
35
|
+
transaction(params: {
|
|
36
|
+
status: TransactionStatus;
|
|
37
|
+
chainId: ChainID;
|
|
38
|
+
address: Address;
|
|
39
|
+
data?: string;
|
|
40
|
+
to?: string;
|
|
41
|
+
value?: string;
|
|
42
|
+
transactionHash?: string;
|
|
43
|
+
function_name?: string;
|
|
44
|
+
function_args?: Record<string, unknown>;
|
|
45
|
+
}, properties?: IFormoEventProperties, context?: IFormoEventContext, callback?: (...args: unknown[]) => void): Promise<void>;
|
|
46
|
+
identify(params: {
|
|
47
|
+
address: Address;
|
|
48
|
+
providerName?: string;
|
|
49
|
+
userId?: string;
|
|
50
|
+
rdns?: string;
|
|
51
|
+
}, properties?: IFormoEventProperties, context?: IFormoEventContext, callback?: (...args: unknown[]) => void): Promise<void>;
|
|
52
|
+
track(event: string, properties?: IFormoEventProperties, context?: IFormoEventContext, callback?: (...args: unknown[]) => void): Promise<void>;
|
|
53
|
+
setTrafficSourceFromUrl(url: string): void;
|
|
54
|
+
optOutTracking(): void;
|
|
55
|
+
optInTracking(): void;
|
|
56
|
+
hasOptedOutTracking(): boolean;
|
|
57
|
+
}
|
|
58
|
+
export interface Config {
|
|
59
|
+
writeKey: string;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Configuration options for controlling tracking exclusions
|
|
63
|
+
*/
|
|
64
|
+
export interface TrackingOptions {
|
|
65
|
+
excludeChains?: ChainID[];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Configuration options for controlling wallet event autocapture
|
|
69
|
+
* All events are enabled by default unless explicitly set to false
|
|
70
|
+
*/
|
|
71
|
+
export interface AutocaptureOptions {
|
|
72
|
+
/**
|
|
73
|
+
* Track wallet connect events
|
|
74
|
+
* @default true
|
|
75
|
+
*/
|
|
76
|
+
connect?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Track wallet disconnect events
|
|
79
|
+
* @default true
|
|
80
|
+
*/
|
|
81
|
+
disconnect?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Track wallet signature events (personal_sign, eth_signTypedData_v4)
|
|
84
|
+
* @default true
|
|
85
|
+
*/
|
|
86
|
+
signature?: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Track wallet transaction events (eth_sendTransaction)
|
|
89
|
+
* @default true
|
|
90
|
+
*/
|
|
91
|
+
transaction?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Track wallet chain change events
|
|
94
|
+
* @default true
|
|
95
|
+
*/
|
|
96
|
+
chain?: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Track application lifecycle events (installed, updated, opened, backgrounded)
|
|
99
|
+
* @default true
|
|
100
|
+
*/
|
|
101
|
+
lifecycle?: boolean;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Configuration options for Wagmi integration
|
|
105
|
+
* Allows the SDK to hook into Wagmi v2 wallet events
|
|
106
|
+
*/
|
|
107
|
+
export interface WagmiOptions {
|
|
108
|
+
/**
|
|
109
|
+
* Wagmi config instance from createConfig()
|
|
110
|
+
* The SDK will subscribe to this config's state changes to track wallet events
|
|
111
|
+
*/
|
|
112
|
+
config: any;
|
|
113
|
+
/**
|
|
114
|
+
* Optional QueryClient instance from @tanstack/react-query
|
|
115
|
+
* Required for tracking signature and transaction events via mutation cache
|
|
116
|
+
* If not provided, only connection/disconnection/chain events will be tracked
|
|
117
|
+
*/
|
|
118
|
+
queryClient?: any;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* App information for context enrichment
|
|
122
|
+
*/
|
|
123
|
+
export interface AppInfo {
|
|
124
|
+
/**
|
|
125
|
+
* App name
|
|
126
|
+
*/
|
|
127
|
+
name?: string;
|
|
128
|
+
/**
|
|
129
|
+
* App version
|
|
130
|
+
*/
|
|
131
|
+
version?: string;
|
|
132
|
+
/**
|
|
133
|
+
* App build number
|
|
134
|
+
*/
|
|
135
|
+
build?: string;
|
|
136
|
+
/**
|
|
137
|
+
* Bundle/package identifier
|
|
138
|
+
*/
|
|
139
|
+
bundleId?: string;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Configuration options for custom referral query parameter parsing
|
|
143
|
+
*/
|
|
144
|
+
export interface ReferralOptions {
|
|
145
|
+
/**
|
|
146
|
+
* Custom query parameter names to check for referral codes
|
|
147
|
+
* These are checked in addition to the defaults: ref, referral, refcode, referrer_code
|
|
148
|
+
*/
|
|
149
|
+
queryParams?: string[];
|
|
150
|
+
/**
|
|
151
|
+
* Path pattern for extracting referral codes from URL paths
|
|
152
|
+
*/
|
|
153
|
+
pathPattern?: string;
|
|
154
|
+
}
|
|
155
|
+
export interface Options {
|
|
156
|
+
tracking?: boolean | TrackingOptions;
|
|
157
|
+
/**
|
|
158
|
+
* Control wallet event autocapture
|
|
159
|
+
* - `false`: Disable all wallet autocapture
|
|
160
|
+
* - `true`: Enable all wallet events (default)
|
|
161
|
+
* - `AutocaptureOptions`: Granular control over specific events
|
|
162
|
+
* @default true
|
|
163
|
+
*/
|
|
164
|
+
autocapture?: boolean | AutocaptureOptions;
|
|
165
|
+
/**
|
|
166
|
+
* Wagmi integration configuration
|
|
167
|
+
* When provided, the SDK will hook into Wagmi's event system
|
|
168
|
+
* @requires wagmi@>=2.0.0
|
|
169
|
+
* @requires @tanstack/react-query@>=5.0.0 (for mutation tracking)
|
|
170
|
+
*/
|
|
171
|
+
wagmi?: WagmiOptions;
|
|
172
|
+
/**
|
|
173
|
+
* Custom API host for sending events
|
|
174
|
+
*/
|
|
175
|
+
apiHost?: string;
|
|
176
|
+
flushAt?: number;
|
|
177
|
+
flushInterval?: number;
|
|
178
|
+
retryCount?: number;
|
|
179
|
+
maxQueueSize?: number;
|
|
180
|
+
logger?: {
|
|
181
|
+
enabled?: boolean;
|
|
182
|
+
levels?: LogLevel[];
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* App information for context enrichment
|
|
186
|
+
*/
|
|
187
|
+
app?: AppInfo;
|
|
188
|
+
/**
|
|
189
|
+
* Custom referral query parameter configuration
|
|
190
|
+
*/
|
|
191
|
+
referral?: ReferralOptions;
|
|
192
|
+
/**
|
|
193
|
+
* Global error handler for SDK errors
|
|
194
|
+
*/
|
|
195
|
+
errorHandler?: (err: Error) => void;
|
|
196
|
+
ready?: (formo: IFormoAnalytics) => void;
|
|
197
|
+
}
|
|
198
|
+
export interface FormoAnalyticsProviderProps {
|
|
199
|
+
writeKey: string;
|
|
200
|
+
options?: Options;
|
|
201
|
+
disabled?: boolean;
|
|
202
|
+
/**
|
|
203
|
+
* AsyncStorage instance from @react-native-async-storage/async-storage
|
|
204
|
+
* Required for persistent storage
|
|
205
|
+
*/
|
|
206
|
+
asyncStorage?: import("../lib/storage").AsyncStorageInterface;
|
|
207
|
+
/**
|
|
208
|
+
* Callback when SDK is ready
|
|
209
|
+
* Note: Use useCallback to avoid re-initialization on every render
|
|
210
|
+
*/
|
|
211
|
+
onReady?: (sdk: IFormoAnalytics) => void;
|
|
212
|
+
/**
|
|
213
|
+
* Callback when SDK initialization fails
|
|
214
|
+
* Note: Use useCallback to avoid re-initialization on every render
|
|
215
|
+
*/
|
|
216
|
+
onError?: (error: Error) => void;
|
|
217
|
+
children: ReactNode;
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { Address, ChainID, Nullable } from "./base";
|
|
2
|
+
import { TEventChannel, TEventType } from "../constants";
|
|
3
|
+
export type AnonymousID = string;
|
|
4
|
+
export interface ICommonProperties {
|
|
5
|
+
anonymous_id: AnonymousID;
|
|
6
|
+
user_id: Nullable<string>;
|
|
7
|
+
address: Nullable<string>;
|
|
8
|
+
type: TEventType;
|
|
9
|
+
channel: TEventChannel;
|
|
10
|
+
version: string;
|
|
11
|
+
original_timestamp: string;
|
|
12
|
+
event?: Nullable<string>;
|
|
13
|
+
}
|
|
14
|
+
export type IFormoEventProperties = Record<string, unknown>;
|
|
15
|
+
export type IFormoEventContext = Record<string, unknown>;
|
|
16
|
+
export type UTMParameters = {
|
|
17
|
+
utm_source: string;
|
|
18
|
+
utm_medium: string;
|
|
19
|
+
utm_campaign: string;
|
|
20
|
+
utm_term: string;
|
|
21
|
+
utm_content: string;
|
|
22
|
+
};
|
|
23
|
+
export type ITrafficSource = UTMParameters & {
|
|
24
|
+
ref: string;
|
|
25
|
+
referrer: string;
|
|
26
|
+
};
|
|
27
|
+
export interface IFormoEvent extends ICommonProperties {
|
|
28
|
+
context: Nullable<IFormoEventContext>;
|
|
29
|
+
properties: Nullable<IFormoEventProperties>;
|
|
30
|
+
}
|
|
31
|
+
export type IFormoEventPayload = IFormoEvent & {
|
|
32
|
+
message_id: string;
|
|
33
|
+
};
|
|
34
|
+
export interface ScreenAPIEvent {
|
|
35
|
+
type: "screen";
|
|
36
|
+
name: string;
|
|
37
|
+
category?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface DetectAPIEvent {
|
|
40
|
+
type: "detect";
|
|
41
|
+
providerName: string;
|
|
42
|
+
rdns: string;
|
|
43
|
+
}
|
|
44
|
+
export interface IdentifyAPIEvent {
|
|
45
|
+
type: "identify";
|
|
46
|
+
address: string;
|
|
47
|
+
providerName: string;
|
|
48
|
+
rdns: string;
|
|
49
|
+
userId?: Nullable<string>;
|
|
50
|
+
}
|
|
51
|
+
export interface ChainAPIEvent {
|
|
52
|
+
type: "chain";
|
|
53
|
+
chainId: ChainID;
|
|
54
|
+
address: Address;
|
|
55
|
+
}
|
|
56
|
+
export interface TransactionAPIEvent {
|
|
57
|
+
type: "transaction";
|
|
58
|
+
status: TransactionStatus;
|
|
59
|
+
chainId: ChainID;
|
|
60
|
+
address: Address;
|
|
61
|
+
data?: string;
|
|
62
|
+
to?: string;
|
|
63
|
+
value?: string;
|
|
64
|
+
transactionHash?: string;
|
|
65
|
+
function_name?: string;
|
|
66
|
+
function_args?: Record<string, unknown>;
|
|
67
|
+
}
|
|
68
|
+
export interface SignatureAPIEvent {
|
|
69
|
+
type: "signature";
|
|
70
|
+
status: SignatureStatus;
|
|
71
|
+
chainId?: ChainID;
|
|
72
|
+
address: Address;
|
|
73
|
+
message: string;
|
|
74
|
+
signatureHash?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface ConnectAPIEvent {
|
|
77
|
+
type: "connect";
|
|
78
|
+
chainId: ChainID;
|
|
79
|
+
address: Address;
|
|
80
|
+
}
|
|
81
|
+
export interface DisconnectAPIEvent {
|
|
82
|
+
type: "disconnect";
|
|
83
|
+
chainId?: ChainID;
|
|
84
|
+
address?: Address;
|
|
85
|
+
}
|
|
86
|
+
export interface TrackAPIEvent {
|
|
87
|
+
type: "track";
|
|
88
|
+
event: string;
|
|
89
|
+
volume?: number;
|
|
90
|
+
revenue?: number;
|
|
91
|
+
currency?: string;
|
|
92
|
+
points?: number;
|
|
93
|
+
}
|
|
94
|
+
export type APIEvent = {
|
|
95
|
+
properties?: IFormoEventProperties;
|
|
96
|
+
context?: IFormoEventContext;
|
|
97
|
+
callback?: (...args: unknown[]) => void;
|
|
98
|
+
} & (ScreenAPIEvent | DetectAPIEvent | IdentifyAPIEvent | ChainAPIEvent | TransactionAPIEvent | SignatureAPIEvent | ConnectAPIEvent | DisconnectAPIEvent | TrackAPIEvent);
|
|
99
|
+
export declare enum SignatureStatus {
|
|
100
|
+
REQUESTED = "requested",
|
|
101
|
+
REJECTED = "rejected",
|
|
102
|
+
CONFIRMED = "confirmed"
|
|
103
|
+
}
|
|
104
|
+
export declare enum TransactionStatus {
|
|
105
|
+
STARTED = "started",
|
|
106
|
+
REJECTED = "rejected",
|
|
107
|
+
BROADCASTED = "broadcasted",
|
|
108
|
+
CONFIRMED = "confirmed",
|
|
109
|
+
REVERTED = "reverted"
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/types/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Address validation and checksum utilities
|
|
3
|
+
*
|
|
4
|
+
* Uses ethereum-cryptography for proper EIP-55 checksum computation
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Check if a string is a valid Ethereum address
|
|
8
|
+
*/
|
|
9
|
+
export declare function isValidAddress(address: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Convert address to EIP-55 checksum format
|
|
12
|
+
*
|
|
13
|
+
* Uses keccak256 from ethereum-cryptography for correct checksumming
|
|
14
|
+
* See: https://eips.ethereum.org/EIPS/eip-55
|
|
15
|
+
*/
|
|
16
|
+
export declare function toChecksumAddress(address: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Get valid address or null
|
|
19
|
+
*/
|
|
20
|
+
export declare function getValidAddress(address: string | undefined | null): string | null;
|
|
21
|
+
/**
|
|
22
|
+
* Check if address is in blocked list
|
|
23
|
+
*/
|
|
24
|
+
export declare function isBlockedAddress(address: string): boolean;
|
|
25
|
+
//# sourceMappingURL=address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../src/utils/address.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMvD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAoBzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GACjC,MAAM,GAAG,IAAI,CAKf;AAWD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate a SHA-256 hash for event deduplication
|
|
3
|
+
* Returns full 64 hex chars to match web SDK format
|
|
4
|
+
*/
|
|
5
|
+
export declare function hash(input: string): Promise<string>;
|
|
6
|
+
/**
|
|
7
|
+
* Generate a UUID v4
|
|
8
|
+
*/
|
|
9
|
+
export declare function generateUUID(): string;
|
|
10
|
+
//# sourceMappingURL=hash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../src/utils/hash.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAsB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIzD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAMrC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clamp a number between min and max values
|
|
3
|
+
*/
|
|
4
|
+
export declare function clampNumber(value: number, max: number, min: number): number;
|
|
5
|
+
/**
|
|
6
|
+
* Check if value is undefined
|
|
7
|
+
*/
|
|
8
|
+
export declare function isUndefined(value: unknown): value is undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Convert object keys to snake_case (recursively handles nested objects and arrays)
|
|
11
|
+
* Preserves Date, Map, Set, RegExp, and other built-in objects unchanged
|
|
12
|
+
*/
|
|
13
|
+
export declare function toSnakeCase<T extends Record<string, unknown>>(obj: T): T;
|
|
14
|
+
/**
|
|
15
|
+
* Deep merge two objects
|
|
16
|
+
*/
|
|
17
|
+
export declare function mergeDeepRight<T extends Record<string, unknown>>(target: T, source: Partial<T>): T;
|
|
18
|
+
/**
|
|
19
|
+
* Get action descriptor for logging
|
|
20
|
+
*/
|
|
21
|
+
export declare function getActionDescriptor(type: string, properties?: Record<string, unknown> | null): string;
|
|
22
|
+
/**
|
|
23
|
+
* Check if error is a network error
|
|
24
|
+
*/
|
|
25
|
+
export declare function isNetworkError(error: unknown): boolean;
|
|
26
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AA6BD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAoBxE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GACjB,CAAC,CA2BH;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC1C,MAAM,CAQR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAiBtD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get current time in ISO format
|
|
3
|
+
*/
|
|
4
|
+
export declare function getCurrentTimeFormatted(): string;
|
|
5
|
+
/**
|
|
6
|
+
* Format date to YYYY-MM-DD HH:mm format for hashing
|
|
7
|
+
*/
|
|
8
|
+
export declare function toDateHourMinute(date: Date): string;
|
|
9
|
+
/**
|
|
10
|
+
* Convert milliseconds to seconds
|
|
11
|
+
*/
|
|
12
|
+
export declare function millisecondsToSecond(ms: number): number;
|
|
13
|
+
//# sourceMappingURL=timestamp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timestamp.d.ts","sourceRoot":"","sources":["../../../src/utils/timestamp.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAOnD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEvD"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Traffic Source Utilities
|
|
3
|
+
* Parse UTM parameters and referral information from URLs
|
|
4
|
+
*/
|
|
5
|
+
import type { ITrafficSource } from "../types";
|
|
6
|
+
/**
|
|
7
|
+
* Parse UTM parameters and referral info from URL
|
|
8
|
+
* Supports both web URLs (https://) and deep link URLs (myapp://)
|
|
9
|
+
*/
|
|
10
|
+
export declare function parseTrafficSource(url: string, customRefParams?: string[], pathPattern?: string): Partial<ITrafficSource>;
|
|
11
|
+
/**
|
|
12
|
+
* Store traffic source in session storage
|
|
13
|
+
* Only stores if we have actual UTM or ref data
|
|
14
|
+
*/
|
|
15
|
+
export declare function storeTrafficSource(trafficSource: Partial<ITrafficSource>): void;
|
|
16
|
+
/**
|
|
17
|
+
* Get stored traffic source from session
|
|
18
|
+
* Returns undefined if no traffic source is stored
|
|
19
|
+
*/
|
|
20
|
+
export declare function getStoredTrafficSource(): Partial<ITrafficSource> | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Clear stored traffic source from session
|
|
23
|
+
*/
|
|
24
|
+
export declare function clearTrafficSource(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Merge stored traffic source with current context
|
|
27
|
+
* Stored traffic source is used as fallback - current context takes priority
|
|
28
|
+
*/
|
|
29
|
+
export declare function mergeWithStoredTrafficSource(context?: Record<string, unknown>): Record<string, unknown>;
|
|
30
|
+
//# sourceMappingURL=trafficSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trafficSource.d.ts","sourceRoot":"","sources":["../../../src/utils/trafficSource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,cAAc,CAAC,CA8DzB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAkB/E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,CAU5E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAOzC;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,UAAU,CAAC"}
|