@magicpixel/rn-mp-client-sdk 1.13.0 → 1.13.20
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 +163 -14
- package/lib/commonjs/common/app-types.js.map +1 -1
- package/lib/commonjs/common/constants.js +11 -2
- package/lib/commonjs/common/constants.js.map +1 -1
- package/lib/commonjs/common/data-store.js +13 -30
- package/lib/commonjs/common/data-store.js.map +1 -1
- package/lib/commonjs/common/deeplink-helper.js +174 -0
- package/lib/commonjs/common/deeplink-helper.js.map +1 -0
- package/lib/commonjs/common/device-info-helper.js +168 -0
- package/lib/commonjs/common/device-info-helper.js.map +1 -0
- package/lib/commonjs/common/event-bus.js +39 -0
- package/lib/commonjs/common/event-bus.js.map +1 -1
- package/lib/commonjs/common/network-service.js +119 -15
- package/lib/commonjs/common/network-service.js.map +1 -1
- package/lib/commonjs/common/reporter.js +28 -10
- package/lib/commonjs/common/reporter.js.map +1 -1
- package/lib/commonjs/common/storage-helper.js +227 -0
- package/lib/commonjs/common/storage-helper.js.map +1 -0
- package/lib/commonjs/common/utils.js +20 -2
- package/lib/commonjs/common/utils.js.map +1 -1
- package/lib/commonjs/eedl/eedl.js +198 -44
- package/lib/commonjs/eedl/eedl.js.map +1 -1
- package/lib/commonjs/index.js +290 -48
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/mp-client-sdk.js +17 -10
- package/lib/commonjs/models/mp-client-sdk.js.map +1 -1
- package/lib/commonjs/processors/data-element.processor.js +51 -7
- package/lib/commonjs/processors/data-element.processor.js.map +1 -1
- package/lib/commonjs/processors/visit-id.processor.js +78 -15
- package/lib/commonjs/processors/visit-id.processor.js.map +1 -1
- package/lib/module/common/app-types.js.map +1 -1
- package/lib/module/common/constants.js +11 -2
- package/lib/module/common/constants.js.map +1 -1
- package/lib/module/common/data-store.js +13 -30
- package/lib/module/common/data-store.js.map +1 -1
- package/lib/module/common/deeplink-helper.js +168 -0
- package/lib/module/common/deeplink-helper.js.map +1 -0
- package/lib/module/common/device-info-helper.js +161 -0
- package/lib/module/common/device-info-helper.js.map +1 -0
- package/lib/module/common/event-bus.js +39 -0
- package/lib/module/common/event-bus.js.map +1 -1
- package/lib/module/common/network-service.js +119 -15
- package/lib/module/common/network-service.js.map +1 -1
- package/lib/module/common/reporter.js +29 -10
- package/lib/module/common/reporter.js.map +1 -1
- package/lib/module/common/storage-helper.js +221 -0
- package/lib/module/common/storage-helper.js.map +1 -0
- package/lib/module/common/utils.js +20 -2
- package/lib/module/common/utils.js.map +1 -1
- package/lib/module/eedl/eedl.js +198 -44
- package/lib/module/eedl/eedl.js.map +1 -1
- package/lib/module/index.js +279 -47
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/mp-client-sdk.js +16 -9
- package/lib/module/models/mp-client-sdk.js.map +1 -1
- package/lib/module/processors/data-element.processor.js +51 -7
- package/lib/module/processors/data-element.processor.js.map +1 -1
- package/lib/module/processors/visit-id.processor.js +78 -15
- package/lib/module/processors/visit-id.processor.js.map +1 -1
- package/lib/typescript/{common → src/common}/app-types.d.ts +29 -9
- package/lib/typescript/{common → src/common}/constants.d.ts +0 -1
- package/lib/typescript/{common → src/common}/data-store.d.ts +3 -8
- package/lib/typescript/src/common/deeplink-helper.d.ts +60 -0
- package/lib/typescript/src/common/device-info-helper.d.ts +54 -0
- package/lib/typescript/src/common/event-bus.d.ts +21 -0
- package/lib/typescript/src/common/network-service.d.ts +32 -0
- package/lib/typescript/src/common/storage-helper.d.ts +47 -0
- package/lib/typescript/{common → src/common}/utils.d.ts +7 -0
- package/lib/typescript/{eedl → src/eedl}/eedl.d.ts +43 -1
- package/lib/typescript/{index.d.ts → src/index.d.ts} +39 -5
- package/lib/typescript/{models → src/models}/mp-client-sdk.d.ts +7 -0
- package/lib/typescript/src/processors/visit-id.processor.d.ts +23 -0
- package/package.json +26 -37
- package/src/common/app-types.ts +32 -10
- package/src/common/constants.ts +0 -6
- package/src/common/data-store.ts +8 -30
- package/src/common/deeplink-helper.ts +181 -0
- package/src/common/device-info-helper.ts +190 -0
- package/src/common/event-bus.ts +39 -0
- package/src/common/network-service.ts +154 -21
- package/src/common/reporter.ts +31 -10
- package/src/common/storage-helper.ts +266 -0
- package/src/common/utils.ts +20 -2
- package/src/eedl/eedl.ts +225 -51
- package/src/index.tsx +332 -67
- package/src/models/mp-client-sdk.ts +8 -0
- package/src/processors/data-element.processor.ts +85 -7
- package/src/processors/visit-id.processor.ts +92 -22
- package/lib/commonjs/processors/trans-function.processor.js +0 -73
- package/lib/commonjs/processors/trans-function.processor.js.map +0 -1
- package/lib/module/processors/trans-function.processor.js +0 -66
- package/lib/module/processors/trans-function.processor.js.map +0 -1
- package/lib/typescript/common/event-bus.d.ts +0 -6
- package/lib/typescript/common/network-service.d.ts +0 -8
- package/lib/typescript/processors/trans-function.processor.d.ts +0 -12
- package/lib/typescript/processors/visit-id.processor.d.ts +0 -9
- package/src/processors/trans-function.processor.ts +0 -85
- /package/lib/typescript/{common → src/common}/logger.d.ts +0 -0
- /package/lib/typescript/{common → src/common}/reporter.d.ts +0 -0
- /package/lib/typescript/{models → src/models}/geo-api-response.d.ts +0 -0
- /package/lib/typescript/{processors → src/processors}/data-element.processor.d.ts +0 -0
- /package/lib/typescript/{processors → src/processors}/geo-location.processor.d.ts +0 -0
- /package/lib/typescript/{processors → src/processors}/qc.processor.d.ts +0 -0
- /package/lib/typescript/{processors → src/processors}/tag.processor.d.ts +0 -0
package/README.md
CHANGED
|
@@ -1,29 +1,178 @@
|
|
|
1
|
-
# rn-mp-client-sdk
|
|
2
|
-
|
|
1
|
+
# @magicpixel/rn-mp-client-sdk
|
|
2
|
+
|
|
3
|
+
React Native SDK for MagicPixel analytics and tag management. Provides event-driven data collection, server-side and client-side tag execution, and comprehensive visitor tracking for iOS and Android apps.
|
|
4
|
+
|
|
3
5
|
## Installation
|
|
4
6
|
|
|
5
7
|
```sh
|
|
6
|
-
npm install rn-mp-client-sdk
|
|
8
|
+
npm install @magicpixel/rn-mp-client-sdk
|
|
7
9
|
```
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
### Peer Dependencies
|
|
10
12
|
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
+
```sh
|
|
14
|
+
npm install react-native @react-native-async-storage/async-storage
|
|
15
|
+
```
|
|
13
16
|
|
|
14
|
-
|
|
17
|
+
### For Bare React Native (Optional)
|
|
15
18
|
|
|
16
|
-
|
|
19
|
+
For enhanced device info detection:
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
npm install react-native-device-info
|
|
23
|
+
npx pod-install
|
|
17
24
|
```
|
|
18
25
|
|
|
19
|
-
|
|
26
|
+
> **Note**: For Expo apps, device info is automatically detected using Expo modules. No additional setup required.
|
|
20
27
|
|
|
21
|
-
|
|
28
|
+
## Quick Start
|
|
22
29
|
|
|
23
|
-
|
|
30
|
+
```javascript
|
|
31
|
+
import { MagicPixel } from '@magicpixel/rn-mp-client-sdk';
|
|
24
32
|
|
|
25
|
-
|
|
33
|
+
// Initialize the SDK (call once at app startup)
|
|
34
|
+
MagicPixel.init({
|
|
35
|
+
orgId: 'your-org-id',
|
|
36
|
+
env: 'production',
|
|
37
|
+
projectId: 'your-project-id',
|
|
38
|
+
baseUrl: 'https://your-collector-url.com',
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
// Track screen views
|
|
42
|
+
MagicPixel.recordPageLoad({
|
|
43
|
+
page_name: 'HomeScreen',
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
// Track custom events
|
|
47
|
+
MagicPixel.recordEvent('add_to_cart', {
|
|
48
|
+
product_id: '123',
|
|
49
|
+
price: 29.99,
|
|
50
|
+
quantity: 1,
|
|
51
|
+
});
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## API Reference
|
|
55
|
+
|
|
56
|
+
### Initialization
|
|
57
|
+
|
|
58
|
+
```javascript
|
|
59
|
+
MagicPixel.init({
|
|
60
|
+
orgId: string, // Required: Organization ID
|
|
61
|
+
env: string, // Required: 'staging' or 'production'
|
|
62
|
+
projectId: string, // Required: Project ID
|
|
63
|
+
baseUrl: string, // Required: Base URL for SDK configuration
|
|
64
|
+
logLevel?: string, // Optional: 'none' | 'debug' | 'error' (default: 'none')
|
|
65
|
+
eventDeduplicationWindowMs?: number, // Optional: Dedup window in ms (default: 5000)
|
|
66
|
+
onInitFailure?: (error: Error) => void, // Optional: Callback on init failure
|
|
67
|
+
});
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Screen Tracking
|
|
71
|
+
|
|
72
|
+
```javascript
|
|
73
|
+
MagicPixel.recordPageLoad({
|
|
74
|
+
page_name: 'ProductDetails',
|
|
75
|
+
deep_link_url?: 'myapp://product/123', // Optional: For attribution
|
|
76
|
+
});
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Event Tracking
|
|
80
|
+
|
|
81
|
+
```javascript
|
|
82
|
+
MagicPixel.recordEvent('event_name', {
|
|
83
|
+
// Custom event properties
|
|
84
|
+
product_id: '123',
|
|
85
|
+
category: 'electronics',
|
|
86
|
+
value: 99.99,
|
|
87
|
+
});
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### User Information
|
|
91
|
+
|
|
92
|
+
```javascript
|
|
93
|
+
// Set user identity for tracking
|
|
94
|
+
MagicPixel.setUserInfo({
|
|
95
|
+
email?: 'user@example.com',
|
|
96
|
+
phone?: '+1234567890',
|
|
97
|
+
pid?: 'user-123', // Your internal user ID
|
|
98
|
+
fName?: 'John',
|
|
99
|
+
lName?: 'Doe',
|
|
100
|
+
zip?: '12345',
|
|
101
|
+
city?: 'New York',
|
|
102
|
+
state?: 'NY',
|
|
103
|
+
country?: 'US',
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
// Set customer attribution info
|
|
107
|
+
MagicPixel.setCustomerInfo({
|
|
108
|
+
first_name: 'John',
|
|
109
|
+
last_name: 'Doe',
|
|
110
|
+
email: 'john@example.com',
|
|
111
|
+
});
|
|
112
|
+
```
|
|
26
113
|
|
|
27
|
-
|
|
114
|
+
### Deep Link Attribution
|
|
28
115
|
|
|
29
|
-
|
|
116
|
+
```javascript
|
|
117
|
+
// Set deep link URL for attribution tracking
|
|
118
|
+
MagicPixel.setDeepLinkUrl('myapp://promo?utm_source=facebook&campaign=summer');
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
The SDK also automatically detects deep links (custom schemes, universal links, app links) when the app is opened via a link.
|
|
122
|
+
|
|
123
|
+
### Data Layer
|
|
124
|
+
|
|
125
|
+
```javascript
|
|
126
|
+
// Persist custom data across sessions
|
|
127
|
+
MagicPixel.persistData('user_tier', 'premium');
|
|
128
|
+
|
|
129
|
+
// Set temporary data layer variables
|
|
130
|
+
MagicPixel.setDataLayer({ campaign: 'summer_sale', source: 'email' });
|
|
131
|
+
|
|
132
|
+
// Clear persisted data
|
|
133
|
+
MagicPixel.clearPersistedData(['user_tier']);
|
|
134
|
+
|
|
135
|
+
// Read data layer state
|
|
136
|
+
const dataLayer = MagicPixel.getDataLayer();
|
|
137
|
+
const hasPageLoaded = MagicPixel.hasEventHappened('page_load');
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Firebase Integration
|
|
141
|
+
|
|
142
|
+
```javascript
|
|
143
|
+
MagicPixel.setFirebaseAppInstanceId('firebase-instance-id');
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Debugging
|
|
147
|
+
|
|
148
|
+
```javascript
|
|
149
|
+
// Get debug ID for troubleshooting
|
|
150
|
+
const debugId = MagicPixel.getDebugId();
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Shutdown
|
|
154
|
+
|
|
155
|
+
```javascript
|
|
156
|
+
// Clean up SDK resources (call when reinitializing or on app close)
|
|
157
|
+
MagicPixel.shutdown();
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Features
|
|
161
|
+
|
|
162
|
+
- **Event Buffering**: Events are buffered until SDK initialization completes
|
|
163
|
+
- **Event Deduplication**: Prevents duplicate events within configurable time window
|
|
164
|
+
- **Auto Device Detection**: Automatically detects device info, OS version, app version
|
|
165
|
+
- **Deep Link Support**: Handles custom schemes, universal links (iOS), and app links (Android)
|
|
166
|
+
- **Offline Support**: Events are queued and processed sequentially
|
|
167
|
+
- **Privacy Compliance**: Built-in support for opt-out tracking
|
|
168
|
+
- **Server-Side Tags**: Support for server-side tag execution
|
|
169
|
+
|
|
170
|
+
## Requirements
|
|
171
|
+
|
|
172
|
+
- React Native >= 0.60
|
|
173
|
+
- iOS >= 11.0
|
|
174
|
+
- Android >= API 21
|
|
175
|
+
|
|
176
|
+
## License
|
|
177
|
+
|
|
178
|
+
MIT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["app-types.ts"],"sourcesContent":["import type { Logger } from './logger';\n\nexport interface MapLike<T = any> {\n [key: string]: T;\n}\n\nexport
|
|
1
|
+
{"version":3,"names":[],"sources":["app-types.ts"],"sourcesContent":["import type { Logger } from './logger';\n\nexport interface MapLike<T = any> {\n [key: string]: T;\n}\n\nexport type TypedAny = Record<\n string,\n | string\n | number\n | boolean\n | string[]\n | boolean[]\n | number[]\n | Record<string, string | number | boolean | string[] | boolean[] | number[]>\n>;\n\nexport type EventProcessorFn = (payload: TypedAny) => void;\n\nexport interface AppCustomerInfo {\n first_name?: string;\n last_name?: string;\n email?: string;\n phone_number: number;\n country_code: number;\n city?: string;\n state?: string;\n country?: string;\n}\n\nexport interface AppPageLoad {\n page_name: string;\n page_url?: string;\n is_entry?: number;\n deep_link_url?: string;\n app_version?: string;\n}\n\nexport interface DeJsvHelper {\n log: typeof Logger.logDbg;\n err: typeof Logger.logError;\n}\n\nexport interface QcInfoItem {\n nm: string;\n id: string;\n st: boolean;\n}\n\nexport interface TagInfoItem {\n id: string;\n nm: string;\n pr: string;\n prNm: string;\n status: boolean;\n qc: string | string[];\n}\n\nexport type ReplaceMode = 'kph' | 'rph';\n\nexport interface HydrateTagInfo {\n isInError: boolean;\n content: string | number | null;\n errCd: string; // error code\n errMsg: string; // any descriptive error message\n}\n\nexport interface ReportTagItem {\n st: 200 | 900 | 1000 | number; // what happened to this tag?\n t: string; // tag id\n p: string; // provider id\n tNm: string;\n req: any; // request payload\n}\n\nexport interface Report {\n envName: string; // environment name inside magic pixel\n envId: string; // environment id inside magic pixel\n pname?: string; // page name\n evt: string; // dcr event if that triggered this report\n evtId: string; // event id\n dt?: number; // device type (converted to int)\n ln?: number; // language (converted to int)\n bw?: number; // browser name (converted to int)\n dm?: string; // clean domain name\n items: ReportTagItem[]; // list of tag items fired on that page for that condition\n tagCt: number; // expected tag count on this page\n dws: 'j' | 'n'; // down stream configuration. java or node\n v: string; // client sdk version for this call\n}\n\nexport interface UrlInfo {\n tfUrl: string;\n errUrl: string;\n rptUrl: string;\n infoUrl: string;\n baseUrl: string;\n attrInfoUrl: string;\n idlUrl: string;\n geoUrl?: string;\n baseUrlV4?: string;\n baseUrlV6?: string;\n}\n\nexport interface VisitInfo {\n visitId: string;\n visitTs: number;\n visitCt: number;\n visitDepth: number;\n visitVer: number;\n}\n\nexport interface VisitorInfo {\n dId: string;\n mId: string;\n st: number;\n}\n\nexport interface SdkInitOptions {\n orgId: string;\n env: string;\n projectId: string;\n baseUrl: string;\n logLevel: string;\n\n /**\n * @deprecated device_type is now auto-detected and cannot be overridden\n * This field is ignored. The SDK uses Expo/react-native-device-info for reliable detection.\n */\n device_type?: string;\n\n /**\n * @deprecated app_version is now auto-detected and cannot be overridden\n * This field is ignored. The SDK will always use the actual app version from the device.\n */\n app_version?: string;\n\n /**\n * @deprecated os_version is now auto-detected and cannot be overridden\n * This field is ignored. The SDK will always use the actual OS version from the device.\n */\n os_version?: string;\n\n /**\n * Event deduplication window in milliseconds\n * If the same event (name + payload) fires within this window, it will be skipped\n * Purchase events are deduplicated by transaction_id regardless of other fields\n * Default: 5000ms (5 seconds)\n * Set to 0 to disable deduplication\n */\n eventDeduplicationWindowMs?: number;\n\n /**\n * Callback invoked when SDK initialization fails after all retries\n * Use this to handle initialization failures gracefully in your app\n * @param error The error that caused the failure\n */\n onInitFailure?: (error: Error) => void;\n}\n\nexport interface MpDeviceInfo {\n package_name?: string; // app package name like com.company.starter\n short_version?: string;\n long_version?: string;\n os_version?: string; // Will be auto-detected if not provided\n device_model_name?: string; // Will be auto-detected if not provided\n locale?: string;\n timezone_abbreviation?: string;\n carrier?: string;\n screen_width?: number;\n screen_height?: number;\n screen_density?: number;\n cpu_cores?: number;\n ext_storage?: number;\n free_storage?: number;\n device_timezone?: string;\n}\n\nexport type EventBusCallback = (event: string, payload: any) => void;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -4,28 +4,37 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.MP_VISIT_ID_COOKIE = exports.Constants = void 0;
|
|
7
|
-
var _nonSecure = require("nanoid/non-secure");
|
|
8
7
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
9
8
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
10
9
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
11
10
|
class Constants {}
|
|
12
11
|
exports.Constants = Constants;
|
|
13
12
|
_defineProperty(Constants, "PLACEHOLDER_REGEX", new RegExp(/({{)([A-Z_0-9 -]+)(}})/gi));
|
|
14
|
-
_defineProperty(Constants, "LARGE_RANDOM_POOL", (0, _nonSecure.customAlphabet)('1234567090abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 21));
|
|
15
13
|
_defineProperty(Constants, "MP_DL_EVT", 'mp_dl_event');
|
|
16
14
|
_defineProperty(Constants, "CUST_EVT", 'custom_event');
|
|
15
|
+
// Tag Report - Status Constants
|
|
17
16
|
_defineProperty(Constants, "ST_OK", 200);
|
|
17
|
+
// tag fired successfully
|
|
18
18
|
_defineProperty(Constants, "ST_VAL_FAIL", 400);
|
|
19
|
+
// tag validation failed - meaning one of the items marked as mandatory was found empty
|
|
19
20
|
_defineProperty(Constants, "ST_ERR", 500);
|
|
21
|
+
// tag was ok, but provider side failure. may be url is constructed wrong, or provider is down
|
|
20
22
|
_defineProperty(Constants, "ST_DEP_FAIL", 1000);
|
|
23
|
+
// processing tag dependencies failed - may be missing parameters or attributes
|
|
21
24
|
_defineProperty(Constants, "ST_PR_BL", 1002);
|
|
25
|
+
// provider is black listed in the data governance screen
|
|
22
26
|
_defineProperty(Constants, "ST_PR_EXC", 1001);
|
|
27
|
+
// tag was found, but no provider was bundled. SDK build issue. Report with high importance
|
|
23
28
|
_defineProperty(Constants, "PR_TYP_JS", 'js');
|
|
24
29
|
_defineProperty(Constants, "PR_TYP_IMG", 'img');
|
|
25
30
|
_defineProperty(Constants, "PR_TYP_APP", 'app');
|
|
26
31
|
_defineProperty(Constants, "PR_S_TYP_R", 'r');
|
|
27
32
|
_defineProperty(Constants, "sortAscending", (a, b) => a.o > b.o ? 1 : -1);
|
|
33
|
+
// this data structure is returned by the api and stored in this key
|
|
34
|
+
// {"dId":"VNiBG7JNfoGAyvqxhxMqd","mId":"JW0FRrCtAj9K7uyNmL1ht","st":0}
|
|
28
35
|
_defineProperty(Constants, "KEY_MP_IDL_VISITOR_ID_INFO", 'mp_idl_visitor_info');
|
|
36
|
+
// visitor info data structure
|
|
37
|
+
// {"visitId": "123123sdfsf", "visitCt": 1, "visitDepth": 1, visitVer: 1}
|
|
29
38
|
_defineProperty(Constants, "KEY_MP_IDL_VISIT_ID_INFO", 'mp_idl_visit_info');
|
|
30
39
|
_defineProperty(Constants, "KEY_MP_DEBUG_ID", 'mp_debug_id');
|
|
31
40
|
_defineProperty(Constants, "KEY_FBP", 'KEY_FBP');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Constants","exports","_defineProperty","RegExp","a","b","o","MP_VISIT_ID_COOKIE"],"sources":["constants.ts"],"sourcesContent":["import type { BaseResourceParamType } from '../models/mp-client-sdk';\n\nexport class Constants {\n static PLACEHOLDER_REGEX = new RegExp(/({{)([A-Z_0-9 -]+)(}})/gi);\n\n static MP_DL_EVT = 'mp_dl_event';\n static CUST_EVT = 'custom_event';\n\n // Tag Report - Status Constants\n static ST_OK = 200; // tag fired successfully\n static ST_VAL_FAIL = 400; // tag validation failed - meaning one of the items marked as mandatory was found empty\n static ST_ERR = 500; // tag was ok, but provider side failure. may be url is constructed wrong, or provider is down\n static ST_DEP_FAIL = 1000; // processing tag dependencies failed - may be missing parameters or attributes\n static ST_PR_BL = 1002; // provider is black listed in the data governance screen\n static ST_PR_EXC = 1001; // tag was found, but no provider was bundled. SDK build issue. Report with high importance\n\n static PR_TYP_JS = 'js';\n static PR_TYP_IMG = 'img';\n static PR_TYP_APP = 'app';\n\n static PR_S_TYP_R = 'r';\n\n static sortAscending = (\n a: BaseResourceParamType,\n b: BaseResourceParamType\n ): number => (a.o > b.o ? 1 : -1);\n\n // this data structure is returned by the api and stored in this key\n // {\"dId\":\"VNiBG7JNfoGAyvqxhxMqd\",\"mId\":\"JW0FRrCtAj9K7uyNmL1ht\",\"st\":0}\n static KEY_MP_IDL_VISITOR_ID_INFO = 'mp_idl_visitor_info';\n\n // visitor info data structure\n // {\"visitId\": \"123123sdfsf\", \"visitCt\": 1, \"visitDepth\": 1, visitVer: 1}\n static KEY_MP_IDL_VISIT_ID_INFO = 'mp_idl_visit_info';\n\n static KEY_MP_DEBUG_ID = 'mp_debug_id';\n static KEY_FBP = 'KEY_FBP';\n static KEY_FIRST_OPEN = 'KEY_FOPEN';\n}\n\nexport const MP_VISIT_ID_COOKIE = 'mp_visit_id';\n"],"mappings":";;;;;;;;;AAEO,MAAMA,SAAS,CAAC;AAoCtBC,OAAA,CAAAD,SAAA,GAAAA,SAAA;AAAAE,eAAA,CApCYF,SAAS,uBACO,IAAIG,MAAM,CAAC,0BAA0B,CAAC;AAAAD,eAAA,CADtDF,SAAS,eAGD,aAAa;AAAAE,eAAA,CAHrBF,SAAS,cAIF,cAAc;AAEhC;AAAAE,eAAA,CANWF,SAAS,WAOL,GAAG;AAAE;AAAAE,eAAA,CAPTF,SAAS,iBAQC,GAAG;AAAE;AAAAE,eAAA,CARfF,SAAS,YASJ,GAAG;AAAE;AAAAE,eAAA,CATVF,SAAS,iBAUC,IAAI;AAAE;AAAAE,eAAA,CAVhBF,SAAS,cAWF,IAAI;AAAE;AAAAE,eAAA,CAXbF,SAAS,eAYD,IAAI;AAAE;AAAAE,eAAA,CAZdF,SAAS,eAcD,IAAI;AAAAE,eAAA,CAdZF,SAAS,gBAeA,KAAK;AAAAE,eAAA,CAfdF,SAAS,gBAgBA,KAAK;AAAAE,eAAA,CAhBdF,SAAS,gBAkBA,GAAG;AAAAE,eAAA,CAlBZF,SAAS,mBAoBG,CACrBI,CAAwB,EACxBC,CAAwB,KACZD,CAAC,CAACE,CAAC,GAAGD,CAAC,CAACC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAE;AAEjC;AACA;AAAAJ,eAAA,CA1BWF,SAAS,gCA2BgB,qBAAqB;AAEzD;AACA;AAAAE,eAAA,CA9BWF,SAAS,8BA+Bc,mBAAmB;AAAAE,eAAA,CA/B1CF,SAAS,qBAiCK,aAAa;AAAAE,eAAA,CAjC3BF,SAAS,aAkCH,SAAS;AAAAE,eAAA,CAlCfF,SAAS,oBAmCI,WAAW;AAG9B,MAAMO,kBAAkB,GAAAN,OAAA,CAAAM,kBAAA,GAAG,aAAa","ignoreList":[]}
|
|
@@ -8,16 +8,16 @@ var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/
|
|
|
8
8
|
var _logger = require("./logger");
|
|
9
9
|
var _reactNative = require("react-native");
|
|
10
10
|
var _utils = require("./utils");
|
|
11
|
+
var _package = require("../../package.json");
|
|
11
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
13
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
13
14
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
14
15
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
15
|
-
const CORE_VERSION = '0.8.6';
|
|
16
16
|
class DataStore {
|
|
17
17
|
static async init(clientSdk) {
|
|
18
18
|
var _clientSdk$s;
|
|
19
19
|
this.clientSdk = clientSdk;
|
|
20
|
-
this.setMpEnv((clientSdk === null || clientSdk === void 0
|
|
20
|
+
this.setMpEnv((clientSdk === null || clientSdk === void 0 || (_clientSdk$s = clientSdk.s) === null || _clientSdk$s === void 0 ? void 0 : _clientSdk$s.ev) === 'staging' ? 'stg' : 'prd');
|
|
21
21
|
if (typeof _reactNative.Platform !== 'undefined' && typeof _reactNative.Platform.OS !== 'undefined') {
|
|
22
22
|
this.devicePlatform = _reactNative.Platform.OS.toLowerCase();
|
|
23
23
|
}
|
|
@@ -48,15 +48,6 @@ class DataStore {
|
|
|
48
48
|
};
|
|
49
49
|
return true;
|
|
50
50
|
}
|
|
51
|
-
static enQueueTMFire(sseOnly, name, dcrName, eventId, dcrPayload) {
|
|
52
|
-
this.runQueue.push({
|
|
53
|
-
sseOnly,
|
|
54
|
-
name,
|
|
55
|
-
dcrName,
|
|
56
|
-
eventId,
|
|
57
|
-
dcrPayload
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
51
|
static isDataStoreReady() {
|
|
61
52
|
return this.isDataStoreInitialized;
|
|
62
53
|
}
|
|
@@ -84,15 +75,6 @@ class DataStore {
|
|
|
84
75
|
static setSdkInitOptions(options) {
|
|
85
76
|
this.sdkInitOptions = options;
|
|
86
77
|
}
|
|
87
|
-
static deQueueTMFire() {
|
|
88
|
-
return this.runQueue.length > 0 ? this.runQueue.pop() : null;
|
|
89
|
-
}
|
|
90
|
-
static isTagManagerProcessing() {
|
|
91
|
-
return this.isProcessing;
|
|
92
|
-
}
|
|
93
|
-
static setTagManagerProcessing(status) {
|
|
94
|
-
this.isProcessing = status;
|
|
95
|
-
}
|
|
96
78
|
static getSdkDataElements() {
|
|
97
79
|
var _this$clientSdk;
|
|
98
80
|
return ((_this$clientSdk = this.clientSdk) === null || _this$clientSdk === void 0 ? void 0 : _this$clientSdk.d) || {};
|
|
@@ -128,6 +110,9 @@ class DataStore {
|
|
|
128
110
|
static setVisitorInfo(visitorInfo) {
|
|
129
111
|
this.visitorInfo = visitorInfo;
|
|
130
112
|
}
|
|
113
|
+
static getVisitorInfo() {
|
|
114
|
+
return this.visitorInfo;
|
|
115
|
+
}
|
|
131
116
|
static getDebugId() {
|
|
132
117
|
return this.debugId;
|
|
133
118
|
}
|
|
@@ -145,8 +130,8 @@ class DataStore {
|
|
|
145
130
|
this.debugId = dbgId;
|
|
146
131
|
}
|
|
147
132
|
static shouldFireSstForEvent(eventName) {
|
|
148
|
-
var _this$clientSdk3
|
|
149
|
-
return ((_this$clientSdk3 = this.clientSdk) === null || _this$clientSdk3 === void 0
|
|
133
|
+
var _this$clientSdk3;
|
|
134
|
+
return ((_this$clientSdk3 = this.clientSdk) === null || _this$clientSdk3 === void 0 || (_this$clientSdk3 = _this$clientSdk3.sseMpDlE) === null || _this$clientSdk3 === void 0 ? void 0 : _this$clientSdk3.indexOf(eventName)) > -1;
|
|
150
135
|
}
|
|
151
136
|
static addCommonCookie(key, value) {
|
|
152
137
|
this.commonCookies[key] = value;
|
|
@@ -159,11 +144,11 @@ class DataStore {
|
|
|
159
144
|
}
|
|
160
145
|
static getSdkTags() {
|
|
161
146
|
var _this$clientSdk4;
|
|
162
|
-
return (this === null || this === void 0
|
|
147
|
+
return (this === null || this === void 0 || (_this$clientSdk4 = this.clientSdk) === null || _this$clientSdk4 === void 0 ? void 0 : _this$clientSdk4.t) ?? {};
|
|
163
148
|
}
|
|
164
149
|
static getSdkProviders() {
|
|
165
150
|
var _this$clientSdk5;
|
|
166
|
-
return (this === null || this === void 0
|
|
151
|
+
return (this === null || this === void 0 || (_this$clientSdk5 = this.clientSdk) === null || _this$clientSdk5 === void 0 ? void 0 : _this$clientSdk5.p) ?? {};
|
|
167
152
|
}
|
|
168
153
|
static getPrivacyCompliance() {
|
|
169
154
|
return this.prStatus;
|
|
@@ -237,7 +222,7 @@ class DataStore {
|
|
|
237
222
|
}
|
|
238
223
|
static overrideDeviceType(deviceType) {
|
|
239
224
|
var _deviceType$trim;
|
|
240
|
-
this.deviceType = deviceType === null || deviceType === void 0
|
|
225
|
+
this.deviceType = deviceType === null || deviceType === void 0 || (_deviceType$trim = deviceType.trim()) === null || _deviceType$trim === void 0 ? void 0 : _deviceType$trim.toLowerCase();
|
|
241
226
|
}
|
|
242
227
|
static getDeviceType() {
|
|
243
228
|
return this.deviceType;
|
|
@@ -254,11 +239,11 @@ class DataStore {
|
|
|
254
239
|
return this.visitorInfo ? JSON.stringify(this.visitorInfo) : undefined;
|
|
255
240
|
}
|
|
256
241
|
static getOrgId() {
|
|
257
|
-
var _this$clientSdk6
|
|
258
|
-
return this === null || this === void 0
|
|
242
|
+
var _this$clientSdk6;
|
|
243
|
+
return this === null || this === void 0 || (_this$clientSdk6 = this.clientSdk) === null || _this$clientSdk6 === void 0 || (_this$clientSdk6 = _this$clientSdk6.s) === null || _this$clientSdk6 === void 0 ? void 0 : _this$clientSdk6.v_id;
|
|
259
244
|
}
|
|
260
245
|
static getCoreVersion() {
|
|
261
|
-
return
|
|
246
|
+
return _package.version;
|
|
262
247
|
}
|
|
263
248
|
static getMpEnv() {
|
|
264
249
|
return this.mpEnvShort;
|
|
@@ -310,8 +295,6 @@ _defineProperty(DataStore, "pageLang", 'en');
|
|
|
310
295
|
_defineProperty(DataStore, "mpEnvShort", void 0);
|
|
311
296
|
_defineProperty(DataStore, "devicePlatform", 'unknown');
|
|
312
297
|
_defineProperty(DataStore, "deviceType", 'mobile');
|
|
313
|
-
_defineProperty(DataStore, "runQueue", []);
|
|
314
|
-
_defineProperty(DataStore, "isProcessing", false);
|
|
315
298
|
_defineProperty(DataStore, "sdkInitOptions", void 0);
|
|
316
299
|
_defineProperty(DataStore, "deviceInfo", void 0);
|
|
317
300
|
_defineProperty(DataStore, "geoInfo", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_asyncStorage","_interopRequireDefault","require","_logger","_reactNative","_utils","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CORE_VERSION","DataStore","init","clientSdk","_clientSdk$s","setMpEnv","s","ev","Platform","OS","devicePlatform","toLowerCase","Utils","isTablet","deviceType","interestedClientSideEvents","_makeUniqueStringArray","dtmE","ctmE","mpDlE","interestedServerSideEvents","sseDtmE","sseCtmE","sseMpDlE","interestedAllEvents","resetCollectorUrl","c_url","v_id","p_id","isDataStoreInitialized","baseCollectorUrl","sdkEnv","vendorId","projectId","tagsBaseUrl","urls","tfUrl","errUrl","rptUrl","infoUrl","baseUrl","attrInfoUrl","idlUrl","geoUrl","baseUrlV4","baseUrlV6","enQueueTMFire","sseOnly","name","dcrName","eventId","dcrPayload","runQueue","push","isDataStoreReady","shouldExecuteTMForEvent","eventName","indexOf","shouldExecuteSST","shouldExecuteClientSideTm","getSdkPcKey","pcKey","getSdkInitOptions","sdkInitOptions","setDeviceInfo","info","deviceInfo","getDeviceInfo","setSdkInitOptions","options","deQueueTMFire","length","pop","isTagManagerProcessing","isProcessing","setTagManagerProcessing","status","getSdkDataElements","_this$clientSdk","d","getSdkQC","_this$clientSdk2","qc","hasOneSSTTag","sst","getSSTDownStream","dws_s_t","getClientDownStream","dws_c_t","getClientSdk","getSSTUrl","getAttrInfoUrl","setVisitInfo","visitInfo","visitInfoToString","visitVer","visitId","visitTs","visitCt","visitDepth","undefined","setVisitorInfo","visitorInfo","getDebugId","debugId","getErrorReportUrl","getIdlUrl","_this$urls","getSdkVersion","v","setDebugId","dbgId","shouldFireSstForEvent","_this$clientSdk3","_this$clientSdk3$sseM","addCommonCookie","key","commonCookies","getCommonCookies","getUrlInfo","getSdkTags","_this$clientSdk4","getSdkProviders","_this$clientSdk5","p","getPrivacyCompliance","prStatus","setPrivacyCompliance","storeData","AsyncStorage","setItem","JSON","stringify","getDataFromStorage","getItem","parse","getDataElements","dataElements","setDataElements","de","getPageLang","pageLang","getDeviceOs","getDataElementHelpers","log","Logger","logDbg","err","logError","getPageName","getDataElementValue","param","setPageLang","lang","getSdkPageLangKey","langKey","setDataElement","setValidQc","qcList","qcInfo","validQcList","validQcInfoList","getValidQcList","getValidQcInfo","setTransFunctions","elements","transFunctions","getTransFunctions","getOperatingSystem","getVisitId","_this$visitInfo","overrideDeviceType","_deviceType$trim","trim","getDeviceType","getDeviceId","_this$visitorInfo","dId","getMpId","_this$visitorInfo2","mId","getVisitorInfoAsString","getOrgId","_this$clientSdk6","_this$clientSdk6$s","getCoreVersion","getMpEnv","mpEnvShort","shortEnv","setGeoInfo","geoInfo","getGeoInfo","isGeoLocationEnabledInSdk","getVisitInfo","getBrowser","getMpUserStatus","exports"],"sources":["data-store.ts"],"sourcesContent":["import AsyncStorage from '@react-native-async-storage/async-storage';\nimport type {\n DeJsvHelper,\n MapLike,\n MpDeviceInfo,\n QcInfoItem,\n RunQueueModel,\n SdkInitOptions,\n UrlInfo,\n VisitInfo,\n VisitorInfo,\n} from './app-types';\nimport type { GeoResponse } from '../models/geo-api-response';\nimport { Logger } from './logger';\nimport type {\n ClientSdkDeItem,\n ClientSdkPrItem,\n ClientSdkQcItem,\n ClientSdkTagItem,\n MpClientSdk,\n} from '../models/mp-client-sdk';\nimport { Platform } from 'react-native';\nimport { Utils } from './utils';\n\nconst CORE_VERSION = '0.8.6';\n\nexport class DataStore {\n private static isDataStoreInitialized = false;\n private static dataElements: MapLike = {};\n private static validQcList: string[];\n private static validQcInfoList: Array<QcInfoItem> = [];\n private static transFunctions: MapLike = {};\n private static prStatus = true;\n private static clientSdk: MpClientSdk;\n private static urls: UrlInfo;\n private static debugId: string;\n private static visitorInfo: VisitorInfo;\n private static visitInfo: VisitInfo;\n private static pageLang = 'en';\n private static mpEnvShort: 'stg' | 'prd';\n private static devicePlatform = 'unknown';\n private static deviceType = 'mobile';\n private static runQueue: RunQueueModel[] = [];\n private static isProcessing = false;\n private static sdkInitOptions: SdkInitOptions;\n private static deviceInfo: MpDeviceInfo;\n private static geoInfo: GeoResponse;\n\n private static interestedClientSideEvents: string[] = [];\n private static interestedServerSideEvents: string[] = [];\n private static interestedAllEvents: string[] = [];\n\n private static commonCookies: Record<string, string> = {};\n\n static async init(clientSdk: MpClientSdk): Promise<void> {\n this.clientSdk = clientSdk;\n this.setMpEnv(clientSdk?.s?.ev === 'staging' ? 'stg' : 'prd');\n if (typeof Platform !== 'undefined' && typeof Platform.OS !== 'undefined') {\n this.devicePlatform = Platform.OS.toLowerCase();\n }\n\n if (Utils.isTablet()) {\n this.deviceType = 'tablet';\n } else {\n this.deviceType = 'mobile';\n }\n\n this.interestedClientSideEvents = Utils._makeUniqueStringArray([\n ...(clientSdk.dtmE ?? []),\n ...(clientSdk.ctmE ?? []),\n ...(clientSdk.mpDlE ?? []),\n ]);\n\n this.interestedServerSideEvents = Utils._makeUniqueStringArray([\n ...(clientSdk.sseDtmE ?? []),\n ...(clientSdk.sseCtmE ?? []),\n ...(clientSdk.sseMpDlE ?? []),\n ]);\n\n this.interestedAllEvents = Utils._makeUniqueStringArray([\n ...this.interestedClientSideEvents,\n ...this.interestedServerSideEvents,\n ]);\n\n this.resetCollectorUrl(\n clientSdk.s.c_url,\n clientSdk.s.ev,\n clientSdk.s.v_id,\n clientSdk.s.p_id\n );\n this.isDataStoreInitialized = true;\n }\n\n static resetCollectorUrl(\n baseCollectorUrl: string,\n sdkEnv: string,\n vendorId: string,\n projectId: string\n ): boolean {\n const tagsBaseUrl = `${baseCollectorUrl}/${\n sdkEnv === 'staging' ? 's' : 'p'\n }/${vendorId}/${projectId}`;\n this.urls = {\n tfUrl: tagsBaseUrl + '/sst',\n errUrl: tagsBaseUrl + '/err',\n rptUrl: tagsBaseUrl + '/report',\n infoUrl: tagsBaseUrl + '/info',\n baseUrl: baseCollectorUrl,\n attrInfoUrl: baseCollectorUrl + `/idl/${vendorId}/attrInfo`,\n idlUrl:\n baseCollectorUrl +\n `/idl/${vendorId}/idl${sdkEnv === 'staging' ? '-staging' : ''}`,\n geoUrl: '/geo',\n baseUrlV4: baseCollectorUrl,\n baseUrlV6: baseCollectorUrl, // For React Native, we'll use the same URL for both IPv4 and IPv6\n };\n return true;\n }\n\n static enQueueTMFire(\n sseOnly: boolean,\n name: string,\n dcrName: string,\n eventId: string,\n dcrPayload?: Record<string, any>\n ): void {\n this.runQueue.push({ sseOnly, name, dcrName, eventId, dcrPayload });\n }\n\n static isDataStoreReady(): boolean {\n return this.isDataStoreInitialized;\n }\n\n static shouldExecuteTMForEvent(eventName: string): boolean {\n return this.interestedAllEvents.indexOf(eventName) > -1;\n }\n\n static shouldExecuteSST(eventName: string): boolean {\n return this.interestedServerSideEvents.indexOf(eventName) > -1;\n }\n\n static shouldExecuteClientSideTm(eventName: string): boolean {\n return this.interestedClientSideEvents.indexOf(eventName) > -1;\n }\n\n static getSdkPcKey(): string {\n return this.clientSdk.pcKey;\n }\n\n static getSdkInitOptions(): SdkInitOptions {\n return this.sdkInitOptions;\n }\n\n static setDeviceInfo(info: MpDeviceInfo): void {\n this.deviceInfo = info;\n }\n\n static getDeviceInfo(): MpDeviceInfo {\n return this.deviceInfo;\n }\n\n static setSdkInitOptions(options: SdkInitOptions): void {\n this.sdkInitOptions = options;\n }\n\n static deQueueTMFire(): RunQueueModel {\n return this.runQueue.length > 0 ? this.runQueue.pop() : null;\n }\n\n static isTagManagerProcessing(): boolean {\n return this.isProcessing;\n }\n\n static setTagManagerProcessing(status: boolean): void {\n this.isProcessing = status;\n }\n\n static getSdkDataElements(): MapLike<ClientSdkDeItem> {\n return this.clientSdk?.d || {};\n }\n\n static getSdkQC(): ClientSdkQcItem[] {\n return this.clientSdk?.qc || [];\n }\n\n static hasOneSSTTag(): boolean {\n return this.clientSdk.s.sst;\n }\n\n static getSSTDownStream(): 'j' | 'n' {\n return this.clientSdk.s.dws_s_t;\n }\n\n static getClientDownStream(): 'j' | 'n' {\n return this.clientSdk.s.dws_c_t;\n }\n\n static getClientSdk(): MpClientSdk {\n return this.clientSdk;\n }\n\n static getSSTUrl(): string {\n return this.urls.tfUrl;\n }\n\n static getAttrInfoUrl(): string {\n return this.urls.attrInfoUrl;\n }\n\n static setVisitInfo(visitInfo: VisitInfo): void {\n this.visitInfo = visitInfo;\n }\n\n static visitInfoToString(): string {\n return this.visitInfo\n ? `${this.visitInfo.visitVer}|${this.visitInfo.visitId}|${this.visitInfo.visitTs}|${this.visitInfo.visitCt}|${this.visitInfo.visitDepth}`\n : undefined;\n }\n\n static setVisitorInfo(visitorInfo: VisitorInfo): void {\n this.visitorInfo = visitorInfo;\n }\n\n static getDebugId(): string {\n return this.debugId;\n }\n\n static getErrorReportUrl(): string {\n return this.urls.errUrl;\n }\n\n static getIdlUrl(): string {\n return this.urls?.idlUrl;\n }\n\n static getSdkVersion(): string {\n return this.clientSdk.s.v;\n }\n\n static setDebugId(dbgId: string): void {\n this.debugId = dbgId;\n }\n\n static shouldFireSstForEvent(eventName: string): boolean {\n return this.clientSdk?.sseMpDlE?.indexOf(eventName) > -1;\n }\n\n static addCommonCookie(key: string, value: string): void {\n this.commonCookies[key] = value;\n }\n\n static getCommonCookies(): Record<string, string> {\n return this.commonCookies;\n }\n\n static getUrlInfo(): UrlInfo {\n return this.urls;\n }\n\n static getSdkTags(): MapLike<ClientSdkTagItem> {\n return this?.clientSdk?.t ?? {};\n }\n\n static getSdkProviders(): MapLike<ClientSdkPrItem> {\n return this?.clientSdk?.p ?? {};\n }\n\n static getPrivacyCompliance(): boolean {\n return this.prStatus;\n }\n\n static setPrivacyCompliance(status: boolean): void {\n this.prStatus = status;\n }\n\n static async storeData(key: string, value: any): Promise<void> {\n await AsyncStorage.setItem(key, JSON.stringify(value));\n }\n\n static async getDataFromStorage<T>(key: string): Promise<T> {\n const value = await AsyncStorage.getItem(key);\n return value ? JSON.parse(value) : value;\n }\n\n static getDataElements(): MapLike {\n return this.dataElements;\n }\n\n static setDataElements(de: MapLike): void {\n this.dataElements = de;\n }\n\n static getPageLang(): string {\n return this.pageLang;\n }\n\n static getDeviceOs(): string {\n return this.devicePlatform;\n }\n\n static getDataElementHelpers(): DeJsvHelper {\n return {\n log: Logger.logDbg,\n err: Logger.logError,\n };\n }\n\n static getPageName(): string {\n return (this.getDataElementValue('page_name') as string) || 'none';\n }\n\n static getDataElementValue(param: string): string | boolean | number {\n return this.dataElements[param];\n }\n\n static setPageLang(lang: string): void {\n this.pageLang = lang || 'en';\n }\n\n static getSdkPageLangKey(): string {\n return this.clientSdk.langKey;\n }\n\n static setDataElement(key: string, value: any): void {\n this.dataElements[key] = value;\n }\n\n static setValidQc(qcList: string[], qcInfo: QcInfoItem[]): void {\n this.validQcList = qcList;\n this.validQcInfoList = qcInfo;\n }\n\n static getValidQcList(): string[] {\n return this.validQcList || [];\n }\n\n static getValidQcInfo(): QcInfoItem[] {\n return this.validQcInfoList || [];\n }\n\n static setTransFunctions(elements: MapLike): MapLike {\n this.transFunctions = elements;\n return this.transFunctions;\n }\n\n static getTransFunctions(): MapLike {\n return this.transFunctions;\n }\n\n static getOperatingSystem(): string {\n return this.devicePlatform;\n }\n\n static getVisitId(): string {\n return this.visitInfo?.visitId;\n }\n\n static overrideDeviceType(deviceType: string): void {\n this.deviceType = deviceType?.trim()?.toLowerCase();\n }\n\n static getDeviceType(): string {\n return this.deviceType;\n }\n\n static getDeviceId(): string {\n return this.visitorInfo?.dId;\n }\n\n static getMpId(): string {\n return this.visitorInfo?.mId;\n }\n\n static getVisitorInfoAsString(): string | undefined {\n return this.visitorInfo ? JSON.stringify(this.visitorInfo) : undefined;\n }\n\n static getOrgId(): string {\n return this?.clientSdk?.s?.v_id;\n }\n\n static getCoreVersion(): string {\n return CORE_VERSION;\n }\n\n static getMpEnv(): 'stg' | 'prd' {\n return this.mpEnvShort;\n }\n\n static setMpEnv(shortEnv: 'stg' | 'prd'): void {\n this.mpEnvShort = shortEnv;\n }\n\n static setGeoInfo(geoInfo: GeoResponse): void {\n this.geoInfo = geoInfo;\n }\n\n static getGeoInfo(): GeoResponse | undefined {\n return this.geoInfo;\n }\n\n static isGeoLocationEnabledInSdk(): boolean {\n // TODO: Add geo location configuration to SDK settings\n // For now, return true to enable geo location by default\n return false;\n }\n\n static getVisitInfo(): VisitInfo | undefined {\n return this.visitInfo;\n }\n\n static getBrowser(): string {\n // In React Native, we return the platform as browser equivalent\n return this.devicePlatform;\n }\n\n static getMpUserStatus(): number {\n // Return user status based on visit count\n // 1 = new user (first visit), 0 = returning user\n const visitInfo = this.getVisitInfo();\n if (!visitInfo) {\n return 1; // Default to new user if no visit info\n }\n return visitInfo.visitCt === 1 ? 1 : 0;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_asyncStorage","_interopRequireDefault","require","_logger","_reactNative","_utils","_package","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DataStore","init","clientSdk","_clientSdk$s","setMpEnv","s","ev","Platform","OS","devicePlatform","toLowerCase","Utils","isTablet","deviceType","interestedClientSideEvents","_makeUniqueStringArray","dtmE","ctmE","mpDlE","interestedServerSideEvents","sseDtmE","sseCtmE","sseMpDlE","interestedAllEvents","resetCollectorUrl","c_url","v_id","p_id","isDataStoreInitialized","baseCollectorUrl","sdkEnv","vendorId","projectId","tagsBaseUrl","urls","tfUrl","errUrl","rptUrl","infoUrl","baseUrl","attrInfoUrl","idlUrl","geoUrl","baseUrlV4","baseUrlV6","isDataStoreReady","shouldExecuteTMForEvent","eventName","indexOf","shouldExecuteSST","shouldExecuteClientSideTm","getSdkPcKey","pcKey","getSdkInitOptions","sdkInitOptions","setDeviceInfo","info","deviceInfo","getDeviceInfo","setSdkInitOptions","options","getSdkDataElements","_this$clientSdk","d","getSdkQC","_this$clientSdk2","qc","hasOneSSTTag","sst","getSSTDownStream","dws_s_t","getClientDownStream","dws_c_t","getClientSdk","getSSTUrl","getAttrInfoUrl","setVisitInfo","visitInfo","visitInfoToString","visitVer","visitId","visitTs","visitCt","visitDepth","undefined","setVisitorInfo","visitorInfo","getVisitorInfo","getDebugId","debugId","getErrorReportUrl","getIdlUrl","_this$urls","getSdkVersion","v","setDebugId","dbgId","shouldFireSstForEvent","_this$clientSdk3","addCommonCookie","key","commonCookies","getCommonCookies","getUrlInfo","getSdkTags","_this$clientSdk4","getSdkProviders","_this$clientSdk5","p","getPrivacyCompliance","prStatus","setPrivacyCompliance","status","storeData","AsyncStorage","setItem","JSON","stringify","getDataFromStorage","getItem","parse","getDataElements","dataElements","setDataElements","de","getPageLang","pageLang","getDeviceOs","getDataElementHelpers","log","Logger","logDbg","err","logError","getPageName","getDataElementValue","param","setPageLang","lang","getSdkPageLangKey","langKey","setDataElement","setValidQc","qcList","qcInfo","validQcList","validQcInfoList","getValidQcList","getValidQcInfo","setTransFunctions","elements","transFunctions","getTransFunctions","getOperatingSystem","getVisitId","_this$visitInfo","overrideDeviceType","_deviceType$trim","trim","getDeviceType","getDeviceId","_this$visitorInfo","dId","getMpId","_this$visitorInfo2","mId","getVisitorInfoAsString","getOrgId","_this$clientSdk6","getCoreVersion","SDK_VERSION","getMpEnv","mpEnvShort","shortEnv","setGeoInfo","geoInfo","getGeoInfo","isGeoLocationEnabledInSdk","getVisitInfo","getBrowser","getMpUserStatus","exports"],"sources":["data-store.ts"],"sourcesContent":["import AsyncStorage from '@react-native-async-storage/async-storage';\nimport type {\n DeJsvHelper,\n MapLike,\n MpDeviceInfo,\n QcInfoItem,\n SdkInitOptions,\n UrlInfo,\n VisitInfo,\n VisitorInfo,\n} from './app-types';\nimport type { GeoResponse } from '../models/geo-api-response';\nimport { Logger } from './logger';\nimport type {\n ClientSdkDeItem,\n ClientSdkPrItem,\n ClientSdkQcItem,\n ClientSdkTagItem,\n MpClientSdk,\n} from '../models/mp-client-sdk';\nimport { Platform } from 'react-native';\nimport { Utils } from './utils';\nimport { version as SDK_VERSION } from '../../package.json';\n\nexport class DataStore {\n private static isDataStoreInitialized = false;\n private static dataElements: MapLike = {};\n private static validQcList: string[];\n private static validQcInfoList: Array<QcInfoItem> = [];\n private static transFunctions: MapLike = {};\n private static prStatus = true;\n private static clientSdk: MpClientSdk;\n private static urls: UrlInfo;\n private static debugId: string;\n private static visitorInfo: VisitorInfo | null;\n private static visitInfo: VisitInfo;\n private static pageLang = 'en';\n private static mpEnvShort: 'stg' | 'prd';\n private static devicePlatform = 'unknown';\n private static deviceType = 'mobile';\n private static sdkInitOptions: SdkInitOptions;\n private static deviceInfo: MpDeviceInfo;\n private static geoInfo: GeoResponse;\n\n private static interestedClientSideEvents: string[] = [];\n private static interestedServerSideEvents: string[] = [];\n private static interestedAllEvents: string[] = [];\n\n private static commonCookies: Record<string, string> = {};\n\n static async init(clientSdk: MpClientSdk): Promise<void> {\n this.clientSdk = clientSdk;\n this.setMpEnv(clientSdk?.s?.ev === 'staging' ? 'stg' : 'prd');\n if (typeof Platform !== 'undefined' && typeof Platform.OS !== 'undefined') {\n this.devicePlatform = Platform.OS.toLowerCase();\n }\n\n if (Utils.isTablet()) {\n this.deviceType = 'tablet';\n } else {\n this.deviceType = 'mobile';\n }\n\n this.interestedClientSideEvents = Utils._makeUniqueStringArray([\n ...(clientSdk.dtmE ?? []),\n ...(clientSdk.ctmE ?? []),\n ...(clientSdk.mpDlE ?? []),\n ]);\n\n this.interestedServerSideEvents = Utils._makeUniqueStringArray([\n ...(clientSdk.sseDtmE ?? []),\n ...(clientSdk.sseCtmE ?? []),\n ...(clientSdk.sseMpDlE ?? []),\n ]);\n\n this.interestedAllEvents = Utils._makeUniqueStringArray([\n ...this.interestedClientSideEvents,\n ...this.interestedServerSideEvents,\n ]);\n\n this.resetCollectorUrl(\n clientSdk.s.c_url,\n clientSdk.s.ev,\n clientSdk.s.v_id,\n clientSdk.s.p_id\n );\n this.isDataStoreInitialized = true;\n }\n\n static resetCollectorUrl(\n baseCollectorUrl: string,\n sdkEnv: string,\n vendorId: string,\n projectId: string\n ): boolean {\n const tagsBaseUrl = `${baseCollectorUrl}/${\n sdkEnv === 'staging' ? 's' : 'p'\n }/${vendorId}/${projectId}`;\n this.urls = {\n tfUrl: tagsBaseUrl + '/sst',\n errUrl: tagsBaseUrl + '/err',\n rptUrl: tagsBaseUrl + '/report',\n infoUrl: tagsBaseUrl + '/info',\n baseUrl: baseCollectorUrl,\n attrInfoUrl: baseCollectorUrl + `/idl/${vendorId}/attrInfo`,\n idlUrl:\n baseCollectorUrl +\n `/idl/${vendorId}/idl${sdkEnv === 'staging' ? '-staging' : ''}`,\n geoUrl: '/geo',\n baseUrlV4: baseCollectorUrl,\n baseUrlV6: baseCollectorUrl, // For React Native, we'll use the same URL for both IPv4 and IPv6\n };\n return true;\n }\n\n static isDataStoreReady(): boolean {\n return this.isDataStoreInitialized;\n }\n\n static shouldExecuteTMForEvent(eventName: string): boolean {\n return this.interestedAllEvents.indexOf(eventName) > -1;\n }\n\n static shouldExecuteSST(eventName: string): boolean {\n return this.interestedServerSideEvents.indexOf(eventName) > -1;\n }\n\n static shouldExecuteClientSideTm(eventName: string): boolean {\n return this.interestedClientSideEvents.indexOf(eventName) > -1;\n }\n\n static getSdkPcKey(): string {\n return this.clientSdk.pcKey;\n }\n\n static getSdkInitOptions(): SdkInitOptions {\n return this.sdkInitOptions;\n }\n\n static setDeviceInfo(info: MpDeviceInfo): void {\n this.deviceInfo = info;\n }\n\n static getDeviceInfo(): MpDeviceInfo {\n return this.deviceInfo;\n }\n\n static setSdkInitOptions(options: SdkInitOptions): void {\n this.sdkInitOptions = options;\n }\n\n static getSdkDataElements(): MapLike<ClientSdkDeItem> {\n return this.clientSdk?.d || {};\n }\n\n static getSdkQC(): ClientSdkQcItem[] {\n return this.clientSdk?.qc || [];\n }\n\n static hasOneSSTTag(): boolean {\n return this.clientSdk.s.sst;\n }\n\n static getSSTDownStream(): 'j' | 'n' {\n return this.clientSdk.s.dws_s_t;\n }\n\n static getClientDownStream(): 'j' | 'n' {\n return this.clientSdk.s.dws_c_t;\n }\n\n static getClientSdk(): MpClientSdk {\n return this.clientSdk;\n }\n\n static getSSTUrl(): string {\n return this.urls.tfUrl;\n }\n\n static getAttrInfoUrl(): string {\n return this.urls.attrInfoUrl;\n }\n\n static setVisitInfo(visitInfo: VisitInfo): void {\n this.visitInfo = visitInfo;\n }\n\n static visitInfoToString(): string {\n return this.visitInfo\n ? `${this.visitInfo.visitVer}|${this.visitInfo.visitId}|${this.visitInfo.visitTs}|${this.visitInfo.visitCt}|${this.visitInfo.visitDepth}`\n : undefined;\n }\n\n static setVisitorInfo(visitorInfo: VisitorInfo | null): void {\n this.visitorInfo = visitorInfo;\n }\n\n static getVisitorInfo(): VisitorInfo | null {\n return this.visitorInfo;\n }\n\n static getDebugId(): string {\n return this.debugId;\n }\n\n static getErrorReportUrl(): string {\n return this.urls.errUrl;\n }\n\n static getIdlUrl(): string {\n return this.urls?.idlUrl;\n }\n\n static getSdkVersion(): string {\n return this.clientSdk.s.v;\n }\n\n static setDebugId(dbgId: string): void {\n this.debugId = dbgId;\n }\n\n static shouldFireSstForEvent(eventName: string): boolean {\n return this.clientSdk?.sseMpDlE?.indexOf(eventName) > -1;\n }\n\n static addCommonCookie(key: string, value: string): void {\n this.commonCookies[key] = value;\n }\n\n static getCommonCookies(): Record<string, string> {\n return this.commonCookies;\n }\n\n static getUrlInfo(): UrlInfo {\n return this.urls;\n }\n\n static getSdkTags(): MapLike<ClientSdkTagItem> {\n return this?.clientSdk?.t ?? {};\n }\n\n static getSdkProviders(): MapLike<ClientSdkPrItem> {\n return this?.clientSdk?.p ?? {};\n }\n\n static getPrivacyCompliance(): boolean {\n return this.prStatus;\n }\n\n static setPrivacyCompliance(status: boolean): void {\n this.prStatus = status;\n }\n\n static async storeData(key: string, value: any): Promise<void> {\n await AsyncStorage.setItem(key, JSON.stringify(value));\n }\n\n static async getDataFromStorage<T>(key: string): Promise<T> {\n const value = await AsyncStorage.getItem(key);\n return value ? JSON.parse(value) : value;\n }\n\n static getDataElements(): MapLike {\n return this.dataElements;\n }\n\n static setDataElements(de: MapLike): void {\n this.dataElements = de;\n }\n\n static getPageLang(): string {\n return this.pageLang;\n }\n\n static getDeviceOs(): string {\n return this.devicePlatform;\n }\n\n static getDataElementHelpers(): DeJsvHelper {\n return {\n log: Logger.logDbg,\n err: Logger.logError,\n };\n }\n\n static getPageName(): string {\n return (this.getDataElementValue('page_name') as string) || 'none';\n }\n\n static getDataElementValue(param: string): string | boolean | number {\n return this.dataElements[param];\n }\n\n static setPageLang(lang: string): void {\n this.pageLang = lang || 'en';\n }\n\n static getSdkPageLangKey(): string {\n return this.clientSdk.langKey;\n }\n\n static setDataElement(key: string, value: any): void {\n this.dataElements[key] = value;\n }\n\n static setValidQc(qcList: string[], qcInfo: QcInfoItem[]): void {\n this.validQcList = qcList;\n this.validQcInfoList = qcInfo;\n }\n\n static getValidQcList(): string[] {\n return this.validQcList || [];\n }\n\n static getValidQcInfo(): QcInfoItem[] {\n return this.validQcInfoList || [];\n }\n\n static setTransFunctions(elements: MapLike): MapLike {\n this.transFunctions = elements;\n return this.transFunctions;\n }\n\n static getTransFunctions(): MapLike {\n return this.transFunctions;\n }\n\n static getOperatingSystem(): string {\n return this.devicePlatform;\n }\n\n static getVisitId(): string {\n return this.visitInfo?.visitId;\n }\n\n static overrideDeviceType(deviceType: string): void {\n this.deviceType = deviceType?.trim()?.toLowerCase();\n }\n\n static getDeviceType(): string {\n return this.deviceType;\n }\n\n static getDeviceId(): string {\n return this.visitorInfo?.dId;\n }\n\n static getMpId(): string {\n return this.visitorInfo?.mId;\n }\n\n static getVisitorInfoAsString(): string | undefined {\n return this.visitorInfo ? JSON.stringify(this.visitorInfo) : undefined;\n }\n\n static getOrgId(): string {\n return this?.clientSdk?.s?.v_id;\n }\n\n static getCoreVersion(): string {\n return SDK_VERSION;\n }\n\n static getMpEnv(): 'stg' | 'prd' {\n return this.mpEnvShort;\n }\n\n static setMpEnv(shortEnv: 'stg' | 'prd'): void {\n this.mpEnvShort = shortEnv;\n }\n\n static setGeoInfo(geoInfo: GeoResponse): void {\n this.geoInfo = geoInfo;\n }\n\n static getGeoInfo(): GeoResponse | undefined {\n return this.geoInfo;\n }\n\n static isGeoLocationEnabledInSdk(): boolean {\n // TODO: Add geo location configuration to SDK settings\n // For now, return true to enable geo location by default\n return false;\n }\n\n static getVisitInfo(): VisitInfo | undefined {\n return this.visitInfo;\n }\n\n static getBrowser(): string {\n // In React Native, we return the platform as browser equivalent\n return this.devicePlatform;\n }\n\n static getMpUserStatus(): number {\n // Return user status based on visit count\n // 1 = new user (first visit), 0 = returning user\n const visitInfo = this.getVisitInfo();\n if (!visitInfo) {\n return 1; // Default to new user if no visit info\n }\n return visitInfo.visitCt === 1 ? 1 : 0;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|