@magicpixel/rn-mp-client-sdk 0.11.0 → 1.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/lib/commonjs/common/app-types.js.map +1 -1
  2. package/lib/commonjs/common/constants.js +5 -26
  3. package/lib/commonjs/common/constants.js.map +1 -1
  4. package/lib/commonjs/common/data-store.js +36 -117
  5. package/lib/commonjs/common/data-store.js.map +1 -1
  6. package/lib/commonjs/common/event-bus.js +3 -10
  7. package/lib/commonjs/common/event-bus.js.map +1 -1
  8. package/lib/commonjs/common/logger.js +22 -14
  9. package/lib/commonjs/common/logger.js.map +1 -1
  10. package/lib/commonjs/common/network-service.js +6 -21
  11. package/lib/commonjs/common/network-service.js.map +1 -1
  12. package/lib/commonjs/common/reporter.js +8 -31
  13. package/lib/commonjs/common/reporter.js.map +1 -1
  14. package/lib/commonjs/common/utils.js +64 -65
  15. package/lib/commonjs/common/utils.js.map +1 -1
  16. package/lib/commonjs/coverage/lcov-report/block-navigation.js +6 -19
  17. package/lib/commonjs/coverage/lcov-report/block-navigation.js.map +1 -1
  18. package/lib/commonjs/coverage/lcov-report/prettify.js +2 -182
  19. package/lib/commonjs/coverage/lcov-report/prettify.js.map +1 -1
  20. package/lib/commonjs/coverage/lcov-report/sorter.js +64 -94
  21. package/lib/commonjs/coverage/lcov-report/sorter.js.map +1 -1
  22. package/lib/commonjs/eedl/eedl.js +207 -84
  23. package/lib/commonjs/eedl/eedl.js.map +1 -1
  24. package/lib/commonjs/index.js +105 -94
  25. package/lib/commonjs/index.js.map +1 -1
  26. package/lib/commonjs/models/geo-api-response.js +2 -0
  27. package/lib/commonjs/models/geo-api-response.js.map +1 -0
  28. package/lib/commonjs/models/mp-client-sdk.js +3 -11
  29. package/lib/commonjs/models/mp-client-sdk.js.map +1 -1
  30. package/lib/commonjs/processors/data-element.processor.js +85 -80
  31. package/lib/commonjs/processors/data-element.processor.js.map +1 -1
  32. package/lib/commonjs/processors/geo-location.processor.js +70 -0
  33. package/lib/commonjs/processors/geo-location.processor.js.map +1 -0
  34. package/lib/commonjs/processors/qc.processor.js +2 -25
  35. package/lib/commonjs/processors/qc.processor.js.map +1 -1
  36. package/lib/commonjs/processors/tag.processor.js +17 -86
  37. package/lib/commonjs/processors/tag.processor.js.map +1 -1
  38. package/lib/commonjs/processors/trans-function.processor.js +5 -23
  39. package/lib/commonjs/processors/trans-function.processor.js.map +1 -1
  40. package/lib/commonjs/processors/visit-id.processor.js +4 -50
  41. package/lib/commonjs/processors/visit-id.processor.js.map +1 -1
  42. package/lib/module/common/app-types.js.map +1 -1
  43. package/lib/module/common/constants.js +4 -22
  44. package/lib/module/common/constants.js.map +1 -1
  45. package/lib/module/common/data-store.js +35 -108
  46. package/lib/module/common/data-store.js.map +1 -1
  47. package/lib/module/common/event-bus.js +3 -6
  48. package/lib/module/common/event-bus.js.map +1 -1
  49. package/lib/module/common/logger.js +22 -12
  50. package/lib/module/common/logger.js.map +1 -1
  51. package/lib/module/common/network-service.js +6 -11
  52. package/lib/module/common/network-service.js.map +1 -1
  53. package/lib/module/common/reporter.js +8 -19
  54. package/lib/module/common/reporter.js.map +1 -1
  55. package/lib/module/common/utils.js +63 -56
  56. package/lib/module/common/utils.js.map +1 -1
  57. package/lib/module/coverage/lcov-report/block-navigation.js +6 -19
  58. package/lib/module/coverage/lcov-report/block-navigation.js.map +1 -1
  59. package/lib/module/coverage/lcov-report/prettify.js +2 -182
  60. package/lib/module/coverage/lcov-report/prettify.js.map +1 -1
  61. package/lib/module/coverage/lcov-report/sorter.js +64 -94
  62. package/lib/module/coverage/lcov-report/sorter.js.map +1 -1
  63. package/lib/module/eedl/eedl.js +206 -76
  64. package/lib/module/eedl/eedl.js.map +1 -1
  65. package/lib/module/index.js +103 -57
  66. package/lib/module/index.js.map +1 -1
  67. package/lib/module/models/geo-api-response.js +2 -0
  68. package/lib/module/models/geo-api-response.js.map +1 -0
  69. package/lib/module/models/mp-client-sdk.js +0 -5
  70. package/lib/module/models/mp-client-sdk.js.map +1 -1
  71. package/lib/module/processors/data-element.processor.js +82 -71
  72. package/lib/module/processors/data-element.processor.js.map +1 -1
  73. package/lib/module/processors/geo-location.processor.js +63 -0
  74. package/lib/module/processors/geo-location.processor.js.map +1 -0
  75. package/lib/module/processors/qc.processor.js +2 -11
  76. package/lib/module/processors/qc.processor.js.map +1 -1
  77. package/lib/module/processors/tag.processor.js +17 -57
  78. package/lib/module/processors/tag.processor.js.map +1 -1
  79. package/lib/module/processors/trans-function.processor.js +5 -12
  80. package/lib/module/processors/trans-function.processor.js.map +1 -1
  81. package/lib/module/processors/visit-id.processor.js +4 -27
  82. package/lib/module/processors/visit-id.processor.js.map +1 -1
  83. package/lib/typescript/common/app-types.d.ts +4 -0
  84. package/lib/typescript/common/constants.d.ts +1 -0
  85. package/lib/typescript/common/data-store.d.ts +8 -0
  86. package/lib/typescript/common/logger.d.ts +5 -0
  87. package/lib/typescript/common/utils.d.ts +19 -0
  88. package/lib/typescript/eedl/eedl.d.ts +16 -5
  89. package/lib/typescript/index.d.ts +53 -0
  90. package/lib/typescript/models/geo-api-response.d.ts +12 -0
  91. package/lib/typescript/processors/data-element.processor.d.ts +10 -1
  92. package/lib/typescript/processors/geo-location.processor.d.ts +10 -0
  93. package/package.json +25 -10
  94. package/src/common/app-types.ts +4 -0
  95. package/src/common/constants.ts +2 -0
  96. package/src/common/data-store.ts +38 -0
  97. package/src/common/logger.ts +19 -3
  98. package/src/common/network-service.ts +2 -0
  99. package/src/common/utils.ts +58 -0
  100. package/src/eedl/eedl.ts +241 -18
  101. package/src/index.tsx +99 -3
  102. package/src/models/geo-api-response.ts +13 -0
  103. package/src/processors/data-element.processor.ts +140 -70
  104. package/src/processors/geo-location.processor.ts +91 -0
@@ -4,52 +4,47 @@ import { Reporter } from './reporter';
4
4
  export class NetworkService {
5
5
  static async fetchIdlInfo(url) {
6
6
  const response = await NetworkService.sendNetworkRequest('get', url);
7
-
8
7
  if (response) {
9
8
  return response.json();
10
9
  } else {
11
10
  return null;
12
11
  }
13
12
  }
14
-
15
13
  static async refreshClientSdkJson(sdkInitOptions) {
16
14
  try {
17
15
  const response = await this.sendNetworkRequest('get', `${sdkInitOptions.baseUrl}/${sdkInitOptions.projectId}${sdkInitOptions.env === 'staging' ? '-staging' : ''}.json`);
18
-
19
16
  if (response) {
20
17
  const sdkJson = await response.json();
21
- Logger.logDbg('Client Sdk:: ', sdkJson); // sdkJson.s.c_url = 'http://localhost:3003';
22
-
18
+ Logger.logDbg('Client Sdk:: ', sdkJson);
19
+ // sdkJson.s.c_url = 'http://localhost:3003';
23
20
  await DataStore.init(sdkJson);
24
21
  }
25
22
  } catch (err) {
26
- Reporter.reportError('refreshClientSdk', err); // throw new Error('Unable to fetch MagicPixel SDK at this time.');
23
+ Reporter.reportError('refreshClientSdk', err);
24
+ // throw new Error('Unable to fetch MagicPixel SDK at this time.');
27
25
  }
28
26
  }
29
-
30
27
  static sendPostRequest(url, body) {
31
28
  this.sendNetworkRequest('post', url, body).catch(err => {
32
29
  Logger.logError(err);
33
30
  });
34
31
  }
35
-
36
32
  static sendGetRequest(url) {
37
33
  this.sendNetworkRequest('get', url).catch(err => {
38
34
  Logger.logError(err);
39
35
  });
40
36
  }
41
-
42
37
  static async sendNetworkRequest(method, url, body) {
43
38
  try {
44
39
  Logger.logDbg(`Sending ${method} request to ${url} with body ${JSON.stringify(body)}`);
45
40
  Logger.logDbg(`Common Cookies: ${JSON.stringify(DataStore.getCommonCookies() ?? {})}`);
46
-
47
41
  if (method === 'get') {
48
42
  return await fetch(url, {
49
43
  method: 'GET',
50
44
  headers: {
51
45
  'Content-Type': 'text/plain',
52
46
  'cache-control': 'no-store',
47
+ 'user-agent': 'sajith/123',
53
48
  // 'x-dbg': 'trace',
54
49
  ...DataStore.getCommonCookies()
55
50
  }
@@ -60,6 +55,7 @@ export class NetworkService {
60
55
  headers: {
61
56
  'Content-Type': 'text/plain',
62
57
  'cache-control': 'no-store',
58
+ 'user-agent': 'sajith/123',
63
59
  // 'x-dbg': 'trace',
64
60
  ...DataStore.getCommonCookies()
65
61
  },
@@ -73,6 +69,5 @@ export class NetworkService {
73
69
  return null;
74
70
  }
75
71
  }
76
-
77
72
  }
78
73
  //# sourceMappingURL=network-service.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Logger","DataStore","Reporter","NetworkService","fetchIdlInfo","url","response","sendNetworkRequest","json","refreshClientSdkJson","sdkInitOptions","baseUrl","projectId","env","sdkJson","logDbg","init","err","reportError","sendPostRequest","body","catch","logError","sendGetRequest","method","JSON","stringify","getCommonCookies","fetch","headers","Error"],"sources":["network-service.ts"],"sourcesContent":["import { Logger } from './logger';\nimport type { MapLike, SdkInitOptions, VisitorInfo } from './app-types';\nimport { DataStore } from './data-store';\nimport { Reporter } from './reporter';\nimport type { MpClientSdk } from '../models/mp-client-sdk';\n\nexport class NetworkService {\n public static async fetchIdlInfo(url: string): Promise<VisitorInfo> {\n const response = await NetworkService.sendNetworkRequest('get', url);\n if (response) {\n return response.json();\n } else {\n return null;\n }\n }\n\n public static async refreshClientSdkJson(\n sdkInitOptions: SdkInitOptions\n ): Promise<void> {\n try {\n const response = await this.sendNetworkRequest(\n 'get',\n `${sdkInitOptions.baseUrl}/${sdkInitOptions.projectId}${\n sdkInitOptions.env === 'staging' ? '-staging' : ''\n }.json`\n );\n\n if (response) {\n const sdkJson: MpClientSdk = await response.json();\n Logger.logDbg('Client Sdk:: ', sdkJson);\n // sdkJson.s.c_url = 'http://localhost:3003';\n await DataStore.init(sdkJson);\n }\n } catch (err) {\n Reporter.reportError('refreshClientSdk', err);\n // throw new Error('Unable to fetch MagicPixel SDK at this time.');\n }\n }\n\n public static sendPostRequest(url: string, body: MapLike): void {\n this.sendNetworkRequest('post', url, body).catch((err) => {\n Logger.logError(err);\n });\n }\n\n public static sendGetRequest(url: string): void {\n this.sendNetworkRequest('get', url).catch((err) => {\n Logger.logError(err);\n });\n }\n\n private static async sendNetworkRequest(\n method: 'get' | 'post',\n url: string,\n body?: MapLike\n ): Promise<any> {\n try {\n Logger.logDbg(\n `Sending ${method} request to ${url} with body ${JSON.stringify(body)}`\n );\n Logger.logDbg(\n `Common Cookies: ${JSON.stringify(DataStore.getCommonCookies() ?? {})}`\n );\n if (method === 'get') {\n return await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'text/plain',\n 'cache-control': 'no-store',\n // 'x-dbg': 'trace',\n ...DataStore.getCommonCookies(),\n },\n });\n } else if (method === 'post') {\n return await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'text/plain',\n 'cache-control': 'no-store',\n // 'x-dbg': 'trace',\n ...DataStore.getCommonCookies(),\n },\n body: JSON.stringify(body ?? '{}'),\n });\n } else {\n throw new Error('Unsupported method: ' + method);\n }\n } catch (err) {\n Logger.logError(err);\n return null;\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Logger","DataStore","Reporter","NetworkService","fetchIdlInfo","url","response","sendNetworkRequest","json","refreshClientSdkJson","sdkInitOptions","baseUrl","projectId","env","sdkJson","logDbg","init","err","reportError","sendPostRequest","body","catch","logError","sendGetRequest","method","JSON","stringify","getCommonCookies","fetch","headers","Error"],"sources":["network-service.ts"],"sourcesContent":["import { Logger } from './logger';\nimport type { MapLike, SdkInitOptions, VisitorInfo } from './app-types';\nimport { DataStore } from './data-store';\nimport { Reporter } from './reporter';\nimport type { MpClientSdk } from '../models/mp-client-sdk';\n\nexport class NetworkService {\n public static async fetchIdlInfo(url: string): Promise<VisitorInfo> {\n const response = await NetworkService.sendNetworkRequest('get', url);\n if (response) {\n return response.json();\n } else {\n return null;\n }\n }\n\n public static async refreshClientSdkJson(\n sdkInitOptions: SdkInitOptions\n ): Promise<void> {\n try {\n const response = await this.sendNetworkRequest(\n 'get',\n `${sdkInitOptions.baseUrl}/${sdkInitOptions.projectId}${\n sdkInitOptions.env === 'staging' ? '-staging' : ''\n }.json`\n );\n\n if (response) {\n const sdkJson: MpClientSdk = await response.json();\n Logger.logDbg('Client Sdk:: ', sdkJson);\n // sdkJson.s.c_url = 'http://localhost:3003';\n await DataStore.init(sdkJson);\n }\n } catch (err) {\n Reporter.reportError('refreshClientSdk', err);\n // throw new Error('Unable to fetch MagicPixel SDK at this time.');\n }\n }\n\n public static sendPostRequest(url: string, body: MapLike): void {\n this.sendNetworkRequest('post', url, body).catch((err) => {\n Logger.logError(err);\n });\n }\n\n public static sendGetRequest(url: string): void {\n this.sendNetworkRequest('get', url).catch((err) => {\n Logger.logError(err);\n });\n }\n\n private static async sendNetworkRequest(\n method: 'get' | 'post',\n url: string,\n body?: MapLike\n ): Promise<any> {\n try {\n Logger.logDbg(\n `Sending ${method} request to ${url} with body ${JSON.stringify(body)}`\n );\n Logger.logDbg(\n `Common Cookies: ${JSON.stringify(DataStore.getCommonCookies() ?? {})}`\n );\n if (method === 'get') {\n return await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'text/plain',\n 'cache-control': 'no-store',\n 'user-agent': 'sajith/123',\n // 'x-dbg': 'trace',\n ...DataStore.getCommonCookies(),\n },\n });\n } else if (method === 'post') {\n return await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'text/plain',\n 'cache-control': 'no-store',\n 'user-agent': 'sajith/123',\n // 'x-dbg': 'trace',\n ...DataStore.getCommonCookies(),\n },\n body: JSON.stringify(body ?? '{}'),\n });\n } else {\n throw new Error('Unsupported method: ' + method);\n }\n } catch (err) {\n Logger.logError(err);\n return null;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,13 +1,14 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
1
+ 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; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ 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); }
3
4
  import { Logger } from './logger';
4
5
  import { DataStore } from './data-store';
5
6
  import { Utils } from './utils';
6
7
  import { NetworkService } from './network-service';
7
8
  export class Reporter {
8
- static initReporter(envName, envId, deviceType, language, deviceOs, // device os is being used as a browser proxy
9
- pageName, evtName, evtId, clientTagsDownStream, clientSdkVersion) {
10
- let initialItems = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : [];
9
+ static initReporter(envName, envId, deviceType, language, deviceOs,
10
+ // device os is being used as a browser proxy
11
+ pageName, evtName, evtId, clientTagsDownStream, clientSdkVersion, initialItems = []) {
11
12
  this.reportMap[evtId] = {
12
13
  envName,
13
14
  envId,
@@ -24,30 +25,23 @@ export class Reporter {
24
25
  tagCt: 0
25
26
  };
26
27
  }
27
-
28
28
  static setExpectedTagCount(ct, evtId) {
29
29
  const reportParent = this.reportMap[evtId];
30
-
31
30
  if (reportParent) {
32
31
  reportParent.tagCt = ct;
33
32
  }
34
33
  }
35
-
36
34
  static reportItem(item, evtId) {
37
35
  const reportParent = this.reportMap[evtId];
38
-
39
36
  if (reportParent) {
40
37
  var _reportParent$items, _reportParent$items2;
41
-
42
38
  reportParent.items.push(item);
43
-
44
39
  if ((reportParent === null || reportParent === void 0 ? void 0 : (_reportParent$items = reportParent.items) === null || _reportParent$items === void 0 ? void 0 : _reportParent$items.length) === (reportParent === null || reportParent === void 0 ? void 0 : reportParent.tagCt) && (reportParent === null || reportParent === void 0 ? void 0 : (_reportParent$items2 = reportParent.items) === null || _reportParent$items2 === void 0 ? void 0 : _reportParent$items2.length) > 0) {
45
40
  Logger.logDbg('Hit expected tag count. Reporting');
46
41
  this.publishReport(evtId);
47
42
  }
48
43
  }
49
44
  }
50
-
51
45
  static publishReport(evtId) {
52
46
  const data = this.reportMap[evtId] || {};
53
47
  const postUrl = `${DataStore.getUrlInfo().rptUrl}/${data.dws ?? 'n'}/${Utils.getUniqueID()}`;
@@ -55,7 +49,6 @@ export class Reporter {
55
49
  data.debugId = DataStore.getDebugId();
56
50
  NetworkService.sendPostRequest(postUrl, data);
57
51
  }
58
-
59
52
  static reportError(methodMetaData, err) {
60
53
  Logger.logDbg('Reporting...', methodMetaData, err);
61
54
  const data = {
@@ -65,7 +58,6 @@ export class Reporter {
65
58
  };
66
59
  NetworkService.sendPostRequest(`${DataStore.getErrorReportUrl()}/${Utils.getUniqueID()}`, data);
67
60
  }
68
-
69
61
  static async postSST(data, envName, envId, serverTagDownStream, eventName, evtId) {
70
62
  data.env = envName;
71
63
  data.envId = envId;
@@ -73,16 +65,13 @@ export class Reporter {
73
65
  data.dws = serverTagDownStream;
74
66
  data.debugId = DataStore.getDebugId();
75
67
  data.dm = 'n/a';
76
- data.v = DataStore.getCoreVersion(); // return postHttp(`${getUrlInfo().tfUrl}/${getUniqueID()}`, 'POST', data);
77
-
68
+ data.v = DataStore.getCoreVersion();
69
+ // return postHttp(`${getUrlInfo().tfUrl}/${getUniqueID()}`, 'POST', data);
78
70
  NetworkService.sendPostRequest(`${DataStore.getSSTUrl()}/${data.dws ?? 'n'}/${evtId}`, data);
79
71
  }
80
-
81
72
  static postAttrInfo(payload) {
82
73
  return NetworkService.sendPostRequest(DataStore.getAttrInfoUrl(), payload);
83
74
  }
84
-
85
75
  }
86
-
87
76
  _defineProperty(Reporter, "reportMap", {});
88
77
  //# sourceMappingURL=reporter.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Logger","DataStore","Utils","NetworkService","Reporter","initReporter","envName","envId","deviceType","language","deviceOs","pageName","evtName","evtId","clientTagsDownStream","clientSdkVersion","initialItems","reportMap","pname","evt","bw","bwToNum","dt","dtToNum","ln","langToNum","dm","items","dws","v","tagCt","setExpectedTagCount","ct","reportParent","reportItem","item","push","length","logDbg","publishReport","data","postUrl","getUrlInfo","rptUrl","getUniqueID","debugId","getDebugId","sendPostRequest","reportError","methodMetaData","err","message","stack","undefined","version","getSdkVersion","getErrorReportUrl","postSST","serverTagDownStream","eventName","env","getCoreVersion","getSSTUrl","postAttrInfo","payload","getAttrInfoUrl"],"sources":["reporter.ts"],"sourcesContent":["import type { MapLike, Report, ReportTagItem } from './app-types';\nimport { Logger } from './logger';\nimport { DataStore } from './data-store';\nimport { Utils } from './utils';\nimport { NetworkService } from './network-service';\n\nexport class Reporter {\n static reportMap: MapLike<Report> = {};\n\n static initReporter(\n envName: string,\n envId: string,\n deviceType: string,\n language: string,\n deviceOs: string, // device os is being used as a browser proxy\n pageName: string,\n evtName: string,\n evtId: string,\n clientTagsDownStream: 'j' | 'n',\n clientSdkVersion: string,\n initialItems: ReportTagItem[] = []\n ): void {\n this.reportMap[evtId] = {\n envName,\n envId,\n pname: pageName || 'none',\n evt: evtName,\n evtId: evtId,\n bw: Utils.bwToNum(deviceOs),\n dt: Utils.dtToNum(deviceType),\n ln: Utils.langToNum(language),\n dm: 'na',\n items: initialItems || [],\n dws: clientTagsDownStream,\n v: clientSdkVersion,\n tagCt: 0,\n };\n }\n\n static setExpectedTagCount(ct: number, evtId: string): void {\n const reportParent = this.reportMap[evtId];\n if (reportParent) {\n reportParent.tagCt = ct;\n }\n }\n\n static reportItem(item: ReportTagItem, evtId: string): void {\n const reportParent = this.reportMap[evtId];\n if (reportParent) {\n reportParent.items.push(item);\n if (\n reportParent?.items?.length === reportParent?.tagCt &&\n reportParent?.items?.length > 0\n ) {\n Logger.logDbg('Hit expected tag count. Reporting');\n this.publishReport(evtId);\n }\n }\n }\n\n static publishReport(evtId: string): void {\n const data = (this.reportMap[evtId] || {}) as MapLike;\n const postUrl = `${DataStore.getUrlInfo().rptUrl}/${\n data.dws ?? 'n'\n }/${Utils.getUniqueID()}`;\n Logger.logDbg('Posting Info: ', postUrl);\n data.debugId = DataStore.getDebugId();\n NetworkService.sendPostRequest(postUrl, data);\n }\n\n static reportError(methodMetaData: string, err: any): void {\n Logger.logDbg('Reporting...', methodMetaData, err);\n const data = {\n message: err?.message,\n stack: err?.stack || undefined,\n version: DataStore.getSdkVersion(),\n };\n\n NetworkService.sendPostRequest(\n `${DataStore.getErrorReportUrl()}/${Utils.getUniqueID()}`,\n data\n );\n }\n\n static async postSST(\n data: MapLike,\n envName: string,\n envId: string,\n serverTagDownStream: 'j' | 'n',\n eventName: string,\n evtId: string\n ): Promise<void> {\n data.env = envName;\n data.envId = envId;\n data.evtName = eventName;\n data.dws = serverTagDownStream;\n data.debugId = DataStore.getDebugId();\n data.dm = 'n/a';\n data.v = DataStore.getCoreVersion();\n // return postHttp(`${getUrlInfo().tfUrl}/${getUniqueID()}`, 'POST', data);\n NetworkService.sendPostRequest(\n `${DataStore.getSSTUrl()}/${data.dws ?? 'n'}/${evtId}`,\n data\n );\n }\n\n static postAttrInfo(payload: MapLike): void {\n return NetworkService.sendPostRequest(DataStore.getAttrInfoUrl(), payload);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Logger","DataStore","Utils","NetworkService","Reporter","initReporter","envName","envId","deviceType","language","deviceOs","pageName","evtName","evtId","clientTagsDownStream","clientSdkVersion","initialItems","reportMap","pname","evt","bw","bwToNum","dt","dtToNum","ln","langToNum","dm","items","dws","v","tagCt","setExpectedTagCount","ct","reportParent","reportItem","item","_reportParent$items","_reportParent$items2","push","length","logDbg","publishReport","data","postUrl","getUrlInfo","rptUrl","getUniqueID","debugId","getDebugId","sendPostRequest","reportError","methodMetaData","err","message","stack","undefined","version","getSdkVersion","getErrorReportUrl","postSST","serverTagDownStream","eventName","env","getCoreVersion","getSSTUrl","postAttrInfo","payload","getAttrInfoUrl","_defineProperty"],"sources":["reporter.ts"],"sourcesContent":["import type { MapLike, Report, ReportTagItem } from './app-types';\nimport { Logger } from './logger';\nimport { DataStore } from './data-store';\nimport { Utils } from './utils';\nimport { NetworkService } from './network-service';\n\nexport class Reporter {\n static reportMap: MapLike<Report> = {};\n\n static initReporter(\n envName: string,\n envId: string,\n deviceType: string,\n language: string,\n deviceOs: string, // device os is being used as a browser proxy\n pageName: string,\n evtName: string,\n evtId: string,\n clientTagsDownStream: 'j' | 'n',\n clientSdkVersion: string,\n initialItems: ReportTagItem[] = []\n ): void {\n this.reportMap[evtId] = {\n envName,\n envId,\n pname: pageName || 'none',\n evt: evtName,\n evtId: evtId,\n bw: Utils.bwToNum(deviceOs),\n dt: Utils.dtToNum(deviceType),\n ln: Utils.langToNum(language),\n dm: 'na',\n items: initialItems || [],\n dws: clientTagsDownStream,\n v: clientSdkVersion,\n tagCt: 0,\n };\n }\n\n static setExpectedTagCount(ct: number, evtId: string): void {\n const reportParent = this.reportMap[evtId];\n if (reportParent) {\n reportParent.tagCt = ct;\n }\n }\n\n static reportItem(item: ReportTagItem, evtId: string): void {\n const reportParent = this.reportMap[evtId];\n if (reportParent) {\n reportParent.items.push(item);\n if (\n reportParent?.items?.length === reportParent?.tagCt &&\n reportParent?.items?.length > 0\n ) {\n Logger.logDbg('Hit expected tag count. Reporting');\n this.publishReport(evtId);\n }\n }\n }\n\n static publishReport(evtId: string): void {\n const data = (this.reportMap[evtId] || {}) as MapLike;\n const postUrl = `${DataStore.getUrlInfo().rptUrl}/${\n data.dws ?? 'n'\n }/${Utils.getUniqueID()}`;\n Logger.logDbg('Posting Info: ', postUrl);\n data.debugId = DataStore.getDebugId();\n NetworkService.sendPostRequest(postUrl, data);\n }\n\n static reportError(methodMetaData: string, err: any): void {\n Logger.logDbg('Reporting...', methodMetaData, err);\n const data = {\n message: err?.message,\n stack: err?.stack || undefined,\n version: DataStore.getSdkVersion(),\n };\n\n NetworkService.sendPostRequest(\n `${DataStore.getErrorReportUrl()}/${Utils.getUniqueID()}`,\n data\n );\n }\n\n static async postSST(\n data: MapLike,\n envName: string,\n envId: string,\n serverTagDownStream: 'j' | 'n',\n eventName: string,\n evtId: string\n ): Promise<void> {\n data.env = envName;\n data.envId = envId;\n data.evtName = eventName;\n data.dws = serverTagDownStream;\n data.debugId = DataStore.getDebugId();\n data.dm = 'n/a';\n data.v = DataStore.getCoreVersion();\n // return postHttp(`${getUrlInfo().tfUrl}/${getUniqueID()}`, 'POST', data);\n NetworkService.sendPostRequest(\n `${DataStore.getSSTUrl()}/${data.dws ?? 'n'}/${evtId}`,\n data\n );\n }\n\n static postAttrInfo(payload: MapLike): void {\n return NetworkService.sendPostRequest(DataStore.getAttrInfoUrl(), payload);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,22 +4,19 @@ import { flatten, unflatten } from 'flat';
4
4
  import { EventBus } from './event-bus';
5
5
  import { Dimensions } from 'react-native';
6
6
  import { URL } from 'react-native-url-polyfill';
7
+ import AsyncStorage from '@react-native-async-storage/async-storage';
7
8
  export class Utils {
8
9
  static triggerEvent(eventName, payload) {
9
10
  EventBus.triggerEvent(eventName, payload);
10
11
  }
11
-
12
12
  static calculateMsp(dim, limit) {
13
13
  return dim.scale * dim.width >= limit || dim.scale * dim.height >= limit;
14
14
  }
15
-
16
15
  static _makeUniqueStringArray(input) {
17
16
  return [...new Set(input)];
18
17
  }
19
-
20
18
  static parseQueryParamsToObject(url) {
21
19
  const op = {};
22
-
23
20
  try {
24
21
  if (url && (url === null || url === void 0 ? void 0 : url.trim().length) > 0) {
25
22
  const urlObject = new URL(url);
@@ -31,63 +28,51 @@ export class Utils {
31
28
  // TODO: Report error
32
29
  Logger.logError('Unable to parse query params', err);
33
30
  }
34
-
35
31
  return op;
36
32
  }
37
-
38
33
  static isTablet() {
39
34
  const dim = Dimensions.get('screen');
40
35
  return dim.scale < 2 && this.calculateMsp(dim, 1000) || dim.scale >= 2 && this.calculateMsp(dim, 1900);
41
36
  }
42
-
43
- static sleep() {
44
- let delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1000;
37
+ static sleep(delay = 1000) {
45
38
  return new Promise(resolve => {
46
39
  setTimeout(() => {
47
40
  return resolve();
48
41
  }, delay);
49
42
  });
50
43
  }
44
+
51
45
  /**
52
46
  * deviceTypesMappings = {'1':'Desktop Web','2':'Mobile Web','3':'Tablet','4':'Other'};
53
47
  * @param deviceType
54
48
  */
55
-
56
-
57
49
  static dtToNum(deviceType) {
58
50
  switch (deviceType) {
59
51
  case 'desktop':
60
52
  return 1;
61
-
62
53
  case 'mobile':
63
54
  return 2;
64
-
65
55
  case 'tablet':
66
56
  return 3;
67
-
68
57
  default:
69
58
  return 4;
70
59
  }
71
60
  }
61
+
72
62
  /**
73
63
  * static browserToOsMappings = {'101': 'ios','102': 'android', '7': 'Other'};
74
64
  * @param browser
75
65
  */
76
-
77
-
78
66
  static bwToNum(browser) {
79
67
  switch (browser) {
80
68
  case 'ios':
81
69
  return 101;
82
-
83
70
  case 'android':
84
71
  return 102;
85
-
86
72
  default:
87
73
  return 7;
88
74
  }
89
75
  }
90
-
91
76
  static langToNum(language) {
92
77
  if (language === 'en') {
93
78
  return 1;
@@ -97,16 +82,10 @@ export class Utils {
97
82
  return 3;
98
83
  }
99
84
  }
100
-
101
- static mergeMaps(input) {
85
+ static mergeMaps(input, ...toMerge) {
102
86
  if (!input) {
103
87
  input = {};
104
88
  }
105
-
106
- for (var _len = arguments.length, toMerge = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
107
- toMerge[_key - 1] = arguments[_key];
108
- }
109
-
110
89
  for (const mapObject of toMerge) {
111
90
  if (mapObject) {
112
91
  Object.keys(mapObject).forEach(key => {
@@ -114,25 +93,21 @@ export class Utils {
114
93
  });
115
94
  }
116
95
  }
117
-
118
96
  return input;
119
97
  }
120
-
121
98
  static applyTransformationResourceParam(paramValue, tf) {
122
99
  if (!tf || tf.length === 0) {
123
100
  return paramValue;
124
101
  }
125
-
126
102
  if (typeof paramValue === 'undefined') {
127
103
  return paramValue;
128
- } // transformers here are expected to be ordered when we get it from the server after build
129
-
104
+ }
130
105
 
106
+ // transformers here are expected to be ordered when we get it from the server after build
131
107
  for (let tfItem of tf) {
132
108
  if (tfItem.nm === 'enc') {
133
109
  // only url encode is implemented now
134
110
  tfItem = tfItem;
135
-
136
111
  if (tfItem.eTyp === 'URL_ENC') {
137
112
  paramValue = encodeURIComponent(paramValue);
138
113
  } else if (tfItem.eTyp === 'BASE64') {
@@ -140,9 +115,9 @@ export class Utils {
140
115
  }
141
116
  }
142
117
  }
143
-
144
118
  return paramValue;
145
119
  }
120
+
146
121
  /**
147
122
  * Verifies if the given 'toTest' string exists in any of the input array of strings.
148
123
  * By default, this method does a case sensitive match unless specified by the ignoreCase param.
@@ -151,18 +126,13 @@ export class Utils {
151
126
  * @param ignoreCase - pass a value of 'true' to perform case-insensitive matching.
152
127
  * @param fullMatch
153
128
  */
154
-
155
-
156
129
  static isMatch(toTest, inputs, ignoreCase, fullMatch) {
157
130
  if (!toTest) {
158
131
  return false;
159
132
  }
160
-
161
133
  let isMatched = false;
162
-
163
134
  for (let i = 0; i < inputs.length; i += 1) {
164
135
  const _val = inputs[i];
165
-
166
136
  if (_val) {
167
137
  if (this.convertToRegex(_val, ignoreCase, fullMatch).test(toTest)) {
168
138
  isMatched = true;
@@ -170,14 +140,11 @@ export class Utils {
170
140
  }
171
141
  }
172
142
  }
173
-
174
143
  return isMatched;
175
144
  }
176
-
177
145
  static regExpEscape(input) {
178
146
  return input.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&');
179
147
  }
180
-
181
148
  static convertToRegex(input, ignoreCase, fullMatch) {
182
149
  if (fullMatch) {
183
150
  return new RegExp('^' + input.split(/\*+/).map(this.regExpEscape).join('.*') + '$', ignoreCase ? 'i' : '');
@@ -185,7 +152,6 @@ export class Utils {
185
152
  return new RegExp(input.split(/\*+/).map(this.regExpEscape).join('.*'), ignoreCase ? 'i' : '');
186
153
  }
187
154
  }
188
-
189
155
  static safeExecute(fn, payload) {
190
156
  try {
191
157
  return fn(payload);
@@ -193,27 +159,74 @@ export class Utils {
193
159
  Logger.logError('Error executing function: ', err);
194
160
  }
195
161
  }
196
-
197
162
  static getUniqueID() {
198
163
  return Constants.LARGE_RANDOM_POOL();
199
164
  }
200
165
 
166
+ /**
167
+ * Make HTTP GET request - React Native implementation
168
+ * @param url URL to fetch
169
+ * @returns Promise with response data
170
+ */
171
+ static async getHttp(url) {
172
+ try {
173
+ const response = await fetch(url, {
174
+ method: 'GET',
175
+ headers: {
176
+ 'Content-Type': 'application/json'
177
+ }
178
+ });
179
+ if (!response.ok) {
180
+ throw new Error(`HTTP error! status: ${response.status}`);
181
+ }
182
+ return await response.json();
183
+ } catch (error) {
184
+ Logger.logError('HTTP GET request failed:', error);
185
+ throw error;
186
+ }
187
+ }
188
+
189
+ /**
190
+ * Get value from AsyncStorage (React Native equivalent of sessionStorage)
191
+ * @param key Storage key
192
+ * @param defaultValue Default value if key not found
193
+ * @returns Promise with stored value or default
194
+ */
195
+ static async getValueFromAsyncStorage(key, defaultValue) {
196
+ try {
197
+ const value = await AsyncStorage.getItem(key);
198
+ return value ? JSON.parse(value) : defaultValue;
199
+ } catch (error) {
200
+ Logger.logError('Error getting value from AsyncStorage:', error);
201
+ return defaultValue;
202
+ }
203
+ }
204
+
205
+ /**
206
+ * Set value to AsyncStorage (React Native equivalent of sessionStorage)
207
+ * @param key Storage key
208
+ * @param value Value to store
209
+ */
210
+ static async setValueToAsyncStorage(key, value) {
211
+ try {
212
+ await AsyncStorage.setItem(key, JSON.stringify(value));
213
+ } catch (error) {
214
+ Logger.logError('Error setting value to AsyncStorage:', error);
215
+ }
216
+ }
201
217
  static getSimpleDebugId(prefix) {
202
218
  return `${prefix ?? ''}${this.randomNumber(100000000, 99999999999)}`;
203
219
  }
204
-
205
220
  static randomNumber(min, max) {
206
221
  return Math.ceil(Math.random() * (max - min) + min);
207
222
  }
208
-
209
223
  static unFlattenResourceParams(input) {
210
224
  if (!input || input.length === 0) {
211
225
  return {};
212
226
  }
213
-
214
227
  const transformMap = {};
215
- const op = {}; // convert input into a map for quick search O(1)
216
-
228
+ const op = {};
229
+ // convert input into a map for quick search O(1)
217
230
  for (const item of input) {
218
231
  if (item.pId) {
219
232
  if (!transformMap[item.pId]) {
@@ -226,9 +239,9 @@ export class Utils {
226
239
  item.children = [];
227
240
  transformMap[item.id] = item;
228
241
  }
229
- } // sort children according to child_order inside children if they have any children
230
-
242
+ }
231
243
 
244
+ // sort children according to child_order inside children if they have any children
232
245
  for (const item of Object.values(transformMap)) {
233
246
  if (item.children && item.children.length > 0) {
234
247
  item.children = item.children.sort(Constants.sortAscending);
@@ -237,31 +250,25 @@ export class Utils {
237
250
  op[item.nm] = item;
238
251
  }
239
252
  }
240
-
241
253
  return op;
242
254
  }
243
-
244
255
  static unFlattenObject(obj) {
245
256
  if (!obj) {
246
257
  return {};
247
258
  }
248
-
249
259
  return unflatten(obj, {
250
260
  object: false,
251
261
  delimiter: '.'
252
262
  });
253
263
  }
254
-
255
264
  static flattenObject(obj) {
256
265
  if (!obj) {
257
266
  return {};
258
267
  }
259
-
260
268
  return flatten(obj, {
261
269
  maxDepth: 5,
262
270
  safe: true
263
271
  });
264
272
  }
265
-
266
273
  }
267
274
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Constants","Logger","flatten","unflatten","EventBus","Dimensions","URL","Utils","triggerEvent","eventName","payload","calculateMsp","dim","limit","scale","width","height","_makeUniqueStringArray","input","Set","parseQueryParamsToObject","url","op","trim","length","urlObject","searchParams","forEach","value","name","err","logError","isTablet","get","sleep","delay","Promise","resolve","setTimeout","dtToNum","deviceType","bwToNum","browser","langToNum","language","mergeMaps","toMerge","mapObject","Object","keys","key","applyTransformationResourceParam","paramValue","tf","tfItem","nm","eTyp","encodeURIComponent","Buffer","from","toString","isMatch","toTest","inputs","ignoreCase","fullMatch","isMatched","i","_val","convertToRegex","test","regExpEscape","replace","RegExp","split","map","join","safeExecute","fn","getUniqueID","LARGE_RANDOM_POOL","getSimpleDebugId","prefix","randomNumber","min","max","Math","ceil","random","unFlattenResourceParams","transformMap","item","pId","children","id","push","values","sort","sortAscending","unFlattenObject","obj","object","delimiter","flattenObject","maxDepth","safe"],"sources":["utils.ts"],"sourcesContent":["import { Constants } from './constants';\nimport { Logger } from './logger';\nimport type {\n BaseResourceParamType,\n SdkParamEncodingTransformer,\n TFType,\n} from '../models/mp-client-sdk';\nimport type { MapLike } from './app-types';\nimport { flatten, unflatten } from 'flat';\nimport { EventBus } from './event-bus';\nimport { Dimensions, ScaledSize } from 'react-native';\nimport { URL } from 'react-native-url-polyfill';\n\nexport class Utils {\n static triggerEvent(eventName: string, payload: any): void {\n EventBus.triggerEvent(eventName, payload);\n }\n\n static calculateMsp(dim: ScaledSize, limit: number): boolean {\n return dim.scale * dim.width >= limit || dim.scale * dim.height >= limit;\n }\n\n static _makeUniqueStringArray(input: string[]): string[] {\n return [...new Set(input)];\n }\n\n static parseQueryParamsToObject(url?: string): Record<string, any> {\n const op: Record<string, any> = {};\n try {\n if (url && url?.trim().length > 0) {\n const urlObject = new URL(url);\n urlObject.searchParams.forEach((value, name) => {\n op[name] = value;\n });\n }\n } catch (err) {\n // TODO: Report error\n Logger.logError('Unable to parse query params', err);\n }\n return op;\n }\n\n static isTablet(): boolean {\n const dim = Dimensions.get('screen');\n return (\n (dim.scale < 2 && this.calculateMsp(dim, 1000)) ||\n (dim.scale >= 2 && this.calculateMsp(dim, 1900))\n );\n }\n\n static sleep(delay = 1000): Promise<void> {\n return new Promise((resolve: (val?: any) => void) => {\n setTimeout(() => {\n return resolve();\n }, delay);\n });\n }\n\n /**\n * deviceTypesMappings = {'1':'Desktop Web','2':'Mobile Web','3':'Tablet','4':'Other'};\n * @param deviceType\n */\n static dtToNum(deviceType: string): number {\n switch (deviceType) {\n case 'desktop':\n return 1;\n case 'mobile':\n return 2;\n case 'tablet':\n return 3;\n default:\n return 4;\n }\n }\n\n /**\n * static browserToOsMappings = {'101': 'ios','102': 'android', '7': 'Other'};\n * @param browser\n */\n static bwToNum(browser: string): number {\n switch (browser) {\n case 'ios':\n return 101;\n case 'android':\n return 102;\n default:\n return 7;\n }\n }\n\n static langToNum(language: string): number {\n if (language === 'en') {\n return 1;\n } else if (language === 'es') {\n return 2;\n } else {\n return 3;\n }\n }\n\n static mergeMaps<T>(\n input: MapLike<T>,\n ...toMerge: Array<MapLike<T>>\n ): MapLike<T> {\n if (!input) {\n input = {} as MapLike<T>;\n }\n for (const mapObject of toMerge) {\n if (mapObject) {\n Object.keys(mapObject).forEach((key: string) => {\n input[key] = mapObject[key];\n });\n }\n }\n return input;\n }\n\n static applyTransformationResourceParam(\n paramValue: string,\n tf: TFType | undefined\n ): any {\n if (!tf || tf.length === 0) {\n return paramValue;\n }\n\n if (typeof paramValue === 'undefined') {\n return paramValue;\n }\n\n // transformers here are expected to be ordered when we get it from the server after build\n for (let tfItem of tf) {\n if (tfItem.nm === 'enc') {\n // only url encode is implemented now\n tfItem = tfItem as SdkParamEncodingTransformer;\n if (tfItem.eTyp === 'URL_ENC') {\n paramValue = encodeURIComponent(paramValue);\n } else if (tfItem.eTyp === 'BASE64') {\n paramValue = Buffer.from(paramValue).toString('base64');\n }\n }\n }\n\n return paramValue;\n }\n\n /**\n * Verifies if the given 'toTest' string exists in any of the input array of strings.\n * By default, this method does a case sensitive match unless specified by the ignoreCase param.\n * @param toTest\n * @param inputs\n * @param ignoreCase - pass a value of 'true' to perform case-insensitive matching.\n * @param fullMatch\n */\n static isMatch(\n toTest: string,\n inputs: string[],\n ignoreCase: boolean,\n fullMatch: boolean\n ): boolean {\n if (!toTest) {\n return false;\n }\n let isMatched = false;\n for (let i = 0; i < inputs.length; i += 1) {\n const _val = inputs[i];\n if (_val) {\n if (this.convertToRegex(_val, ignoreCase, fullMatch).test(toTest)) {\n isMatched = true;\n break;\n }\n }\n }\n return isMatched;\n }\n\n static regExpEscape(input: string): string {\n return input.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n }\n\n static convertToRegex(\n input: string,\n ignoreCase: boolean,\n fullMatch: boolean\n ): RegExp {\n if (fullMatch) {\n return new RegExp(\n '^' + input.split(/\\*+/).map(this.regExpEscape).join('.*') + '$',\n ignoreCase ? 'i' : ''\n );\n } else {\n return new RegExp(\n input.split(/\\*+/).map(this.regExpEscape).join('.*'),\n ignoreCase ? 'i' : ''\n );\n }\n }\n\n static safeExecute(fn: (payload: any) => any, payload: any): any {\n try {\n return fn(payload);\n } catch (err) {\n Logger.logError('Error executing function: ', err);\n }\n }\n\n static getUniqueID(): string {\n return Constants.LARGE_RANDOM_POOL();\n }\n\n static getSimpleDebugId(prefix?: string): string {\n return `${prefix ?? ''}${this.randomNumber(100000000, 99999999999)}`;\n }\n\n static randomNumber(min: number, max: number): number {\n return Math.ceil(Math.random() * (max - min) + min);\n }\n\n static unFlattenResourceParams<T extends BaseResourceParamType>(\n input: T[]\n ): MapLike<T> {\n if (!input || input.length === 0) {\n return {};\n }\n\n const transformMap: MapLike<T> = {};\n const op: MapLike<T> = {};\n // convert input into a map for quick search O(1)\n for (const item of input) {\n if (item.pId) {\n if (!transformMap[item.pId]) {\n item.children = [];\n transformMap[item.id] = item;\n } else {\n transformMap[item.pId].children.push(item);\n }\n } else {\n item.children = [];\n transformMap[item.id] = item;\n }\n }\n\n // sort children according to child_order inside children if they have any children\n for (const item of Object.values(transformMap)) {\n if (item.children && item.children.length > 0) {\n item.children = item.children.sort(Constants.sortAscending);\n op[item.nm] = item;\n } else {\n op[item.nm] = item;\n }\n }\n\n return op;\n }\n\n static unFlattenObject(obj: any): Record<string, any> {\n if (!obj) {\n return {};\n }\n return unflatten(obj, { object: false, delimiter: '.' });\n }\n\n static flattenObject(obj: any): Record<string, any> {\n if (!obj) {\n return {};\n }\n return flatten(obj, { maxDepth: 5, safe: true });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Constants","Logger","flatten","unflatten","EventBus","Dimensions","URL","AsyncStorage","Utils","triggerEvent","eventName","payload","calculateMsp","dim","limit","scale","width","height","_makeUniqueStringArray","input","Set","parseQueryParamsToObject","url","op","trim","length","urlObject","searchParams","forEach","value","name","err","logError","isTablet","get","sleep","delay","Promise","resolve","setTimeout","dtToNum","deviceType","bwToNum","browser","langToNum","language","mergeMaps","toMerge","mapObject","Object","keys","key","applyTransformationResourceParam","paramValue","tf","tfItem","nm","eTyp","encodeURIComponent","Buffer","from","toString","isMatch","toTest","inputs","ignoreCase","fullMatch","isMatched","i","_val","convertToRegex","test","regExpEscape","replace","RegExp","split","map","join","safeExecute","fn","getUniqueID","LARGE_RANDOM_POOL","getHttp","response","fetch","method","headers","ok","Error","status","json","error","getValueFromAsyncStorage","defaultValue","getItem","JSON","parse","setValueToAsyncStorage","setItem","stringify","getSimpleDebugId","prefix","randomNumber","min","max","Math","ceil","random","unFlattenResourceParams","transformMap","item","pId","children","id","push","values","sort","sortAscending","unFlattenObject","obj","object","delimiter","flattenObject","maxDepth","safe"],"sources":["utils.ts"],"sourcesContent":["import { Constants } from './constants';\nimport { Logger } from './logger';\nimport type {\n BaseResourceParamType,\n SdkParamEncodingTransformer,\n TFType,\n} from '../models/mp-client-sdk';\nimport type { MapLike } from './app-types';\nimport { flatten, unflatten } from 'flat';\nimport { EventBus } from './event-bus';\nimport { Dimensions, ScaledSize } from 'react-native';\nimport { URL } from 'react-native-url-polyfill';\nimport AsyncStorage from '@react-native-async-storage/async-storage';\n\nexport class Utils {\n static triggerEvent(eventName: string, payload: any): void {\n EventBus.triggerEvent(eventName, payload);\n }\n\n static calculateMsp(dim: ScaledSize, limit: number): boolean {\n return dim.scale * dim.width >= limit || dim.scale * dim.height >= limit;\n }\n\n static _makeUniqueStringArray(input: string[]): string[] {\n return [...new Set(input)];\n }\n\n static parseQueryParamsToObject(url?: string): Record<string, any> {\n const op: Record<string, any> = {};\n try {\n if (url && url?.trim().length > 0) {\n const urlObject = new URL(url);\n urlObject.searchParams.forEach((value, name) => {\n op[name] = value;\n });\n }\n } catch (err) {\n // TODO: Report error\n Logger.logError('Unable to parse query params', err);\n }\n return op;\n }\n\n static isTablet(): boolean {\n const dim = Dimensions.get('screen');\n return (\n (dim.scale < 2 && this.calculateMsp(dim, 1000)) ||\n (dim.scale >= 2 && this.calculateMsp(dim, 1900))\n );\n }\n\n static sleep(delay = 1000): Promise<void> {\n return new Promise((resolve: (val?: any) => void) => {\n setTimeout(() => {\n return resolve();\n }, delay);\n });\n }\n\n /**\n * deviceTypesMappings = {'1':'Desktop Web','2':'Mobile Web','3':'Tablet','4':'Other'};\n * @param deviceType\n */\n static dtToNum(deviceType: string): number {\n switch (deviceType) {\n case 'desktop':\n return 1;\n case 'mobile':\n return 2;\n case 'tablet':\n return 3;\n default:\n return 4;\n }\n }\n\n /**\n * static browserToOsMappings = {'101': 'ios','102': 'android', '7': 'Other'};\n * @param browser\n */\n static bwToNum(browser: string): number {\n switch (browser) {\n case 'ios':\n return 101;\n case 'android':\n return 102;\n default:\n return 7;\n }\n }\n\n static langToNum(language: string): number {\n if (language === 'en') {\n return 1;\n } else if (language === 'es') {\n return 2;\n } else {\n return 3;\n }\n }\n\n static mergeMaps<T>(\n input: MapLike<T>,\n ...toMerge: Array<MapLike<T>>\n ): MapLike<T> {\n if (!input) {\n input = {} as MapLike<T>;\n }\n for (const mapObject of toMerge) {\n if (mapObject) {\n Object.keys(mapObject).forEach((key: string) => {\n input[key] = mapObject[key];\n });\n }\n }\n return input;\n }\n\n static applyTransformationResourceParam(\n paramValue: string,\n tf: TFType | undefined\n ): any {\n if (!tf || tf.length === 0) {\n return paramValue;\n }\n\n if (typeof paramValue === 'undefined') {\n return paramValue;\n }\n\n // transformers here are expected to be ordered when we get it from the server after build\n for (let tfItem of tf) {\n if (tfItem.nm === 'enc') {\n // only url encode is implemented now\n tfItem = tfItem as SdkParamEncodingTransformer;\n if (tfItem.eTyp === 'URL_ENC') {\n paramValue = encodeURIComponent(paramValue);\n } else if (tfItem.eTyp === 'BASE64') {\n paramValue = Buffer.from(paramValue).toString('base64');\n }\n }\n }\n\n return paramValue;\n }\n\n /**\n * Verifies if the given 'toTest' string exists in any of the input array of strings.\n * By default, this method does a case sensitive match unless specified by the ignoreCase param.\n * @param toTest\n * @param inputs\n * @param ignoreCase - pass a value of 'true' to perform case-insensitive matching.\n * @param fullMatch\n */\n static isMatch(\n toTest: string,\n inputs: string[],\n ignoreCase: boolean,\n fullMatch: boolean\n ): boolean {\n if (!toTest) {\n return false;\n }\n let isMatched = false;\n for (let i = 0; i < inputs.length; i += 1) {\n const _val = inputs[i];\n if (_val) {\n if (this.convertToRegex(_val, ignoreCase, fullMatch).test(toTest)) {\n isMatched = true;\n break;\n }\n }\n }\n return isMatched;\n }\n\n static regExpEscape(input: string): string {\n return input.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n }\n\n static convertToRegex(\n input: string,\n ignoreCase: boolean,\n fullMatch: boolean\n ): RegExp {\n if (fullMatch) {\n return new RegExp(\n '^' + input.split(/\\*+/).map(this.regExpEscape).join('.*') + '$',\n ignoreCase ? 'i' : ''\n );\n } else {\n return new RegExp(\n input.split(/\\*+/).map(this.regExpEscape).join('.*'),\n ignoreCase ? 'i' : ''\n );\n }\n }\n\n static safeExecute(fn: (payload: any) => any, payload: any): any {\n try {\n return fn(payload);\n } catch (err) {\n Logger.logError('Error executing function: ', err);\n }\n }\n\n static getUniqueID(): string {\n return Constants.LARGE_RANDOM_POOL();\n }\n\n /**\n * Make HTTP GET request - React Native implementation\n * @param url URL to fetch\n * @returns Promise with response data\n */\n static async getHttp<T>(url: string): Promise<T> {\n try {\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n return await response.json();\n } catch (error) {\n Logger.logError('HTTP GET request failed:', error);\n throw error;\n }\n }\n\n /**\n * Get value from AsyncStorage (React Native equivalent of sessionStorage)\n * @param key Storage key\n * @param defaultValue Default value if key not found\n * @returns Promise with stored value or default\n */\n static async getValueFromAsyncStorage<T>(\n key: string,\n defaultValue: T\n ): Promise<T> {\n try {\n const value = await AsyncStorage.getItem(key);\n return value ? JSON.parse(value) : defaultValue;\n } catch (error) {\n Logger.logError('Error getting value from AsyncStorage:', error);\n return defaultValue;\n }\n }\n\n /**\n * Set value to AsyncStorage (React Native equivalent of sessionStorage)\n * @param key Storage key\n * @param value Value to store\n */\n static async setValueToAsyncStorage(key: string, value: any): Promise<void> {\n try {\n await AsyncStorage.setItem(key, JSON.stringify(value));\n } catch (error) {\n Logger.logError('Error setting value to AsyncStorage:', error);\n }\n }\n\n static getSimpleDebugId(prefix?: string): string {\n return `${prefix ?? ''}${this.randomNumber(100000000, 99999999999)}`;\n }\n\n static randomNumber(min: number, max: number): number {\n return Math.ceil(Math.random() * (max - min) + min);\n }\n\n static unFlattenResourceParams<T extends BaseResourceParamType>(\n input: T[]\n ): MapLike<T> {\n if (!input || input.length === 0) {\n return {};\n }\n\n const transformMap: MapLike<T> = {};\n const op: MapLike<T> = {};\n // convert input into a map for quick search O(1)\n for (const item of input) {\n if (item.pId) {\n if (!transformMap[item.pId]) {\n item.children = [];\n transformMap[item.id] = item;\n } else {\n transformMap[item.pId].children.push(item);\n }\n } else {\n item.children = [];\n transformMap[item.id] = item;\n }\n }\n\n // sort children according to child_order inside children if they have any children\n for (const item of Object.values(transformMap)) {\n if (item.children && item.children.length > 0) {\n item.children = item.children.sort(Constants.sortAscending);\n op[item.nm] = item;\n } else {\n op[item.nm] = item;\n }\n }\n\n return op;\n }\n\n static unFlattenObject(obj: any): Record<string, any> {\n if (!obj) {\n return {};\n }\n return unflatten(obj, { object: false, delimiter: '.' });\n }\n\n static flattenObject(obj: any): Record<string, any> {\n if (!obj) {\n return {};\n }\n return flatten(obj, { maxDepth: 5, safe: true });\n }\n}\n"],"mappings":"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","ignoreList":[]}