fleek-track-analytics 1.3.2 → 1.3.3

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.
@@ -1,3 +1,9 @@
1
1
  import { tAPP } from '../../track-analytics-types';
2
2
  import { IRNAnalyticsWrapper } from '../track-analytics/track-analytics-types';
3
- export type tRNToolWraperFunction = (segmentKey: string, app: tAPP, debug?: boolean) => IRNAnalyticsWrapper;
3
+ import { DimentionsManger } from '../utils/DImentsionManager/dimension-manager';
4
+ export type tRNToolWraperFunction = (params: {
5
+ segmentKey: string;
6
+ app: tAPP;
7
+ debug?: boolean;
8
+ dimensionsManager: DimentionsManger;
9
+ }) => IRNAnalyticsWrapper;
@@ -4,7 +4,7 @@ exports.reactNativeSegment = void 0;
4
4
  const analytics_react_native_1 = require("@segment/analytics-react-native");
5
5
  const segment_logger_1 = require("../utils/segment-logger");
6
6
  const package_json_1 = require("../../../package.json");
7
- const reactNativeSegment = (segmentKey, app, debug) => {
7
+ const reactNativeSegment = ({ segmentKey, app, debug, dimensionsManager }) => {
8
8
  const client = (0, analytics_react_native_1.createClient)({
9
9
  writeKey: segmentKey,
10
10
  trackAppLifecycleEvents: true,
@@ -13,7 +13,8 @@ const reactNativeSegment = (segmentKey, app, debug) => {
13
13
  });
14
14
  const trackWrapper = async (eventName, eventParams) => {
15
15
  const data = eventParams;
16
- return await client.track.call(client, eventName, Object.assign(Object.assign({}, data), { anlaytics_lib_version: package_json_1.version, fleek_platform: app, time_stamp: Date.now() }));
16
+ const eventData = Object.assign(Object.assign({}, data), { anlaytics_lib_version: package_json_1.version, fleek_platform: app, time_stamp: Date.now(), ads_params: dimensionsManager.adsDimensionValues, url_params: dimensionsManager.urlDimensionValues });
17
+ return await client.track.call(client, eventName, eventData);
17
18
  };
18
19
  return {
19
20
  track: trackWrapper,
@@ -1 +1 @@
1
- {"version":3,"file":"react-native-segment.js","sourceRoot":"","sources":["../../../src/react-native/analytics-tool/react-native-segment.ts"],"names":[],"mappings":";;;AAAA,4EAAwE;AACxE,4DAA0D;AAE1D,wDAAgD;AAGzC,MAAM,kBAAkB,GAA0B,CAAC,UAAkB,EAAE,GAAG,EAAE,KAAe,EAAE,EAAE;IACpG,MAAM,MAAM,GAAG,IAAA,qCAAY,EAAC;QAC1B,QAAQ,EAAE,UAAU;QACpB,uBAAuB,EAAE,IAAI;QAC7B,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,gCAAe,CAAC,CAAC,CAAC,SAAS;KAC5C,CAAC,CAAC;IAEH,MAAM,YAAY,GAAa,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,WAAiC,CAAC;QAC/C,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,kCAAO,IAAI,KAAE,qBAAqB,EAAE,sBAAO,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,IAAG,CAAC;IAC9I,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,MAAM;KACtB,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,kBAAkB,sBAoB7B"}
1
+ {"version":3,"file":"react-native-segment.js","sourceRoot":"","sources":["../../../src/react-native/analytics-tool/react-native-segment.ts"],"names":[],"mappings":";;;AAAA,4EAAwE;AACxE,4DAA0D;AAE1D,wDAAgD;AAGzC,MAAM,kBAAkB,GAA0B,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE;IACzG,MAAM,MAAM,GAAG,IAAA,qCAAY,EAAC;QAC1B,QAAQ,EAAE,UAAU;QACpB,uBAAuB,EAAE,IAAI;QAC7B,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,gCAAe,CAAC,CAAC,CAAC,SAAS;KAC5C,CAAC,CAAC;IAEH,MAAM,YAAY,GAAa,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,WAAiC,CAAC;QAC/C,MAAM,SAAS,mCACV,IAAI,KACP,qBAAqB,EAAE,sBAAO,EAC9B,cAAc,EAAE,GAAG,EACnB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EACtB,UAAU,EAAE,iBAAiB,CAAC,kBAAkB,EAChD,UAAU,EAAE,iBAAiB,CAAC,kBAAkB,GACjD,CAAC;QACF,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,MAAM;KACtB,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,kBAAkB,sBA4B7B"}
@@ -4,9 +4,11 @@ import { tRNIdentify, tRNScreen, tRNTrack } from './track-analytics-types';
4
4
  declare class TrackAnalytics {
5
5
  private initParams;
6
6
  private analyticsWrapper;
7
+ private dimensionsManager;
7
8
  reactNativeSegmentClient?: SegmentClient;
8
9
  constructor(params: IAnalyticsInit);
9
10
  initAnalytics: () => void;
11
+ initDimensions: (url?: string) => void;
10
12
  private checkInitDone;
11
13
  track: tRNTrack;
12
14
  identify: tRNIdentify;
@@ -3,18 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TrackAnalytics = void 0;
4
4
  const constants_1 = require("../../constants");
5
5
  const react_native_segment_1 = require("../analytics-tool/react-native-segment");
6
+ const dimension_manager_1 = require("../utils/DImentsionManager/dimension-manager");
6
7
  class TrackAnalytics {
7
8
  constructor(params) {
8
9
  this.analyticsWrapper = null;
9
10
  this.initAnalytics = () => {
10
11
  try {
11
- this.analyticsWrapper = (0, react_native_segment_1.reactNativeSegment)(this.initParams.segmentKey, this.initParams.App, this.initParams.debug || this.initParams.devMode);
12
+ this.analyticsWrapper = (0, react_native_segment_1.reactNativeSegment)({
13
+ segmentKey: this.initParams.segmentKey,
14
+ app: this.initParams.App,
15
+ debug: this.initParams.debug || this.initParams.devMode,
16
+ dimensionsManager: this.dimensionsManager,
17
+ });
12
18
  this.reactNativeSegmentClient = this.analyticsWrapper.segmentClient;
13
19
  }
14
20
  catch (e) {
15
21
  this.initParams.errorHandler(e);
16
22
  }
17
23
  };
24
+ this.initDimensions = (url) => {
25
+ console.log('testing 2 initDimensions', url);
26
+ this.dimensionsManager.init(url);
27
+ };
18
28
  this.track = async (...args) => {
19
29
  var _a;
20
30
  if (this.checkInitDone()) {
@@ -34,6 +44,7 @@ class TrackAnalytics {
34
44
  }
35
45
  };
36
46
  this.initParams = params;
47
+ this.dimensionsManager = new dimension_manager_1.DimentionsManger();
37
48
  }
38
49
  checkInitDone() {
39
50
  if (this.analyticsWrapper) {
@@ -1 +1 @@
1
- {"version":3,"file":"track-analytics.js","sourceRoot":"","sources":["../../../src/react-native/track-analytics/track-analytics.ts"],"names":[],"mappings":";;;AAEA,+CAAgD;AAChD,iFAA4E;AAG5E,MAAM,cAAc;IAKlB,YAAY,MAAsB;QAH1B,qBAAgB,GAA+B,IAAI,CAAC;QAO5D,kBAAa,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC;gBACH,IAAI,CAAC,gBAAgB,GAAG,IAAA,yCAAkB,EAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC9I,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;YACtE,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC;QAWF,UAAK,GAAa,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;;YAClC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA,CAAC;YACrD,CAAC;QACH,CAAC,CAAC;QAEF,aAAQ,GAAgB,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;;YAC3C,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC;QAEF,WAAM,GAAc,KAAK,EAAE,MAAM,EAAE,EAAE;;YACnC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,CAAC,MAAM,CAAC,CAAA,CAAC;YACrD,CAAC;QACH,CAAC,CAAC;QArCA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;IAWO,aAAa;QACnB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,yBAAa,CAAC,4BAA4B,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CAmBF;AAEQ,wCAAc"}
1
+ {"version":3,"file":"track-analytics.js","sourceRoot":"","sources":["../../../src/react-native/track-analytics/track-analytics.ts"],"names":[],"mappings":";;;AAEA,+CAAgD;AAChD,iFAA4E;AAE5E,oFAAgF;AAEhF,MAAM,cAAc;IAMlB,YAAY,MAAsB;QAJ1B,qBAAgB,GAA+B,IAAI,CAAC;QAS5D,kBAAa,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC;gBACH,IAAI,CAAC,gBAAgB,GAAG,IAAA,yCAAkB,EAAC;oBACzC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;oBACtC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;oBACxB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO;oBACvD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;iBAC1C,CAAC,CAAC;gBACH,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;YACtE,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC;QAEF,mBAAc,GAAG,CAAC,GAAY,EAAE,EAAE;YAChC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC;QAWF,UAAK,GAAa,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;;YAClC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA,CAAC;YACrD,CAAC;QACH,CAAC,CAAC;QAEF,aAAQ,GAAgB,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;;YAC3C,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC;QAEF,WAAM,GAAc,KAAK,EAAE,MAAM,EAAE,EAAE;;YACnC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,CAAC,MAAM,CAAC,CAAA,CAAC;YACrD,CAAC;QACH,CAAC,CAAC;QAhDA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,oCAAgB,EAAE,CAAC;IAClD,CAAC;IAqBO,aAAa;QACnB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,yBAAa,CAAC,4BAA4B,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CAmBF;AAEQ,wCAAc"}
@@ -0,0 +1,14 @@
1
+ export declare const enum AdSources {
2
+ FACEBOOK = "fb",
3
+ GA = "ga",
4
+ TIKTOK = "tt",
5
+ COMMON = "common"
6
+ }
7
+ export interface IKeyConfig {
8
+ name: string;
9
+ source: AdSources;
10
+ expiryInDays?: number;
11
+ urlParam?: string;
12
+ }
13
+ export declare const urlDimensionMap: Array<IKeyConfig>;
14
+ export declare const adsDimensionsMap: Array<IKeyConfig>;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adsDimensionsMap = exports.urlDimensionMap = void 0;
4
+ exports.urlDimensionMap = [
5
+ {
6
+ name: '_track_fbc',
7
+ source: "fb",
8
+ expiryInDays: 30,
9
+ urlParam: 'fbclid',
10
+ },
11
+ {
12
+ name: '_track_ttclid',
13
+ source: "fb",
14
+ expiryInDays: 30,
15
+ urlParam: 'ttclid',
16
+ },
17
+ {
18
+ name: '_track_gclid',
19
+ source: "ga",
20
+ expiryInDays: 30,
21
+ urlParam: 'gclid',
22
+ },
23
+ {
24
+ name: '_track_utm_id',
25
+ source: "common",
26
+ urlParam: 'utm_id',
27
+ },
28
+ {
29
+ name: '_track_utm_source',
30
+ source: "common",
31
+ urlParam: 'utm_source',
32
+ },
33
+ {
34
+ name: '_track_utm_medium',
35
+ source: "common",
36
+ urlParam: 'utm_medium',
37
+ },
38
+ {
39
+ name: '_track_utm_campaign',
40
+ source: "common",
41
+ urlParam: 'utm_campaign',
42
+ },
43
+ {
44
+ name: '_track_utm_content',
45
+ source: "common",
46
+ urlParam: 'utm_content',
47
+ },
48
+ {
49
+ name: '_track_utm_term',
50
+ source: "common",
51
+ urlParam: 'utm_term',
52
+ },
53
+ ];
54
+ exports.adsDimensionsMap = [
55
+ {
56
+ name: '_track_fbp',
57
+ source: "fb",
58
+ expiryInDays: 90,
59
+ },
60
+ {
61
+ name: '_track_ttp',
62
+ source: "tt",
63
+ expiryInDays: 90,
64
+ },
65
+ ];
66
+ //# sourceMappingURL=ads-dimenstions-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ads-dimenstions-map.js","sourceRoot":"","sources":["../../../../src/react-native/utils/DImentsionManager/ads-dimenstions-map.ts"],"names":[],"mappings":";;;AAca,QAAA,eAAe,GAAsB;IAChD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,MAAoB;QAC1B,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,MAAoB;QAC1B,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,MAAc;QACpB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,OAAO;KAClB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,UAAkB;QACxB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,MAAM,UAAkB;QACxB,QAAQ,EAAE,YAAY;KACvB;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,MAAM,UAAkB;QACxB,QAAQ,EAAE,YAAY;KACvB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,MAAM,UAAkB;QACxB,QAAQ,EAAE,cAAc;KACzB;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,MAAM,UAAkB;QACxB,QAAQ,EAAE,aAAa;KACxB;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,UAAkB;QACxB,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC;AAEW,QAAA,gBAAgB,GAAsB;IACjD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,MAAoB;QAC1B,YAAY,EAAE,EAAE;KACjB;IAED;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,MAAkB;QACxB,YAAY,EAAE,EAAE;KACjB;CACF,CAAC"}
@@ -0,0 +1,11 @@
1
+ declare class DimentionsManger {
2
+ adsDimensionValues: Record<string, string>;
3
+ urlDimensionValues?: Record<string, string>;
4
+ url?: string;
5
+ private isDataSet;
6
+ constructor();
7
+ init(url?: string): void;
8
+ processAdsDimensions(): Promise<void>;
9
+ processUrlDimensions(): Promise<void>;
10
+ }
11
+ export { DimentionsManger };
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DimentionsManger = void 0;
4
+ const ads_dimenstions_map_1 = require("./ads-dimenstions-map");
5
+ const set_dimension_util_1 = require("./set-dimension-util");
6
+ class DimentionsManger {
7
+ constructor() {
8
+ this.adsDimensionValues = {};
9
+ this.isDataSet = false;
10
+ }
11
+ init(url) {
12
+ if (!this.isDataSet) {
13
+ this.url = url;
14
+ this.processAdsDimensions();
15
+ this.processUrlDimensions();
16
+ this.isDataSet = true;
17
+ }
18
+ }
19
+ async processAdsDimensions() {
20
+ try {
21
+ ads_dimenstions_map_1.adsDimensionsMap.forEach(async (config) => {
22
+ const dimensionValue = await (0, set_dimension_util_1.checkAndSet)(config);
23
+ if (dimensionValue) {
24
+ this.adsDimensionValues[config.name] = dimensionValue;
25
+ }
26
+ });
27
+ }
28
+ catch (e) {
29
+ console.error(e);
30
+ }
31
+ }
32
+ async processUrlDimensions() {
33
+ try {
34
+ if (this.url) {
35
+ const currentUrl = new URL(this.url);
36
+ const urlParams = currentUrl.searchParams;
37
+ ads_dimenstions_map_1.urlDimensionMap.forEach(async (config) => {
38
+ if (config.urlParam) {
39
+ const urlParamValue = urlParams.get(config.urlParam) || '';
40
+ const dimensionValue = await (0, set_dimension_util_1.checkAndSet)(config, urlParamValue);
41
+ if (dimensionValue) {
42
+ if (!this.urlDimensionValues) {
43
+ this.urlDimensionValues = {};
44
+ }
45
+ this.urlDimensionValues[config.name] = dimensionValue;
46
+ }
47
+ }
48
+ });
49
+ }
50
+ }
51
+ catch (e) {
52
+ console.error(e);
53
+ }
54
+ }
55
+ }
56
+ exports.DimentionsManger = DimentionsManger;
57
+ //# sourceMappingURL=dimension-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dimension-manager.js","sourceRoot":"","sources":["../../../../src/react-native/utils/DImentsionManager/dimension-manager.ts"],"names":[],"mappings":";;;AAAA,+DAA0E;AAC1E,6DAAmD;AAEnD,MAAM,gBAAgB;IAMpB;QAJA,uBAAkB,GAA2B,EAAE,CAAC;QAGxC,cAAS,GAAY,KAAK,CAAC;IACpB,CAAC;IAEhB,IAAI,CAAC,GAAY;QACf,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACf,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,IAAI,CAAC;YACH,sCAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACxC,MAAM,cAAc,GAAG,MAAM,IAAA,gCAAW,EAAC,MAAM,CAAC,CAAC;gBACjD,IAAI,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;gBACxD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC;gBAE1C,qCAAe,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;oBACvC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBACpB,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;wBAC3D,MAAM,cAAc,GAAG,MAAM,IAAA,gCAAW,EAAC,MAAM,EAAE,aAAa,CAAC,CAAC;wBAChE,IAAI,cAAc,EAAE,CAAC;4BACnB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gCAC7B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;4BAC/B,CAAC;4BACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;wBACxD,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AAEQ,4CAAgB"}
@@ -0,0 +1,2 @@
1
+ import { IKeyConfig } from './ads-dimenstions-map';
2
+ export declare const checkAndSet: (config: IKeyConfig, value?: string) => Promise<string | void | null | undefined>;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkAndSet = void 0;
4
+ const sovran_react_native_1 = require("@segment/sovran-react-native");
5
+ const sessionStorage = {};
6
+ const getFromStorage = async (config) => {
7
+ if (config.expiryInDays) {
8
+ const storageValue = (await sovran_react_native_1.AsyncStoragePersistor.get(config.name));
9
+ if (storageValue) {
10
+ const parsedValue = storageValue ? JSON.parse(storageValue) : '';
11
+ const storageTS = parsedValue.storageTS;
12
+ if (storageTS) {
13
+ const diffTime = Math.abs(Date.now() - Number.parseInt(storageTS));
14
+ const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));
15
+ if (diffDays <= config.expiryInDays) {
16
+ return parsedValue.value;
17
+ }
18
+ }
19
+ }
20
+ }
21
+ else {
22
+ return sessionStorage[config.name];
23
+ }
24
+ };
25
+ const generateRandom = () => {
26
+ return Math.floor(Math.random() * 1000000000).toString();
27
+ };
28
+ const setInStorage = (config, value) => {
29
+ const cookieValue = `${cookiePrefix(config)}${value}`;
30
+ if (config.expiryInDays) {
31
+ sovran_react_native_1.AsyncStoragePersistor.set(config.name, {
32
+ value: cookieValue,
33
+ storageTS: Date.now(),
34
+ });
35
+ }
36
+ else {
37
+ sessionStorage[config.name] = cookieValue;
38
+ }
39
+ return cookieValue;
40
+ };
41
+ const cookiePrefix = (config) => {
42
+ return !config.urlParam || config.source === "fb" ? `${config.source}.1.${Date.now()}.` : '';
43
+ };
44
+ const checkFbFormatting = (config, value) => {
45
+ if (config.source === "fb" && value.indexOf(config.source) === -1) {
46
+ setInStorage(config, value);
47
+ }
48
+ return value;
49
+ };
50
+ const checkAndSet = async (config, value) => {
51
+ let storageValue = await getFromStorage(config);
52
+ if (storageValue) {
53
+ storageValue = checkFbFormatting(config, storageValue);
54
+ }
55
+ if (!storageValue && !config.urlParam) {
56
+ storageValue = setInStorage(config, value || generateRandom());
57
+ }
58
+ if (config.urlParam && value) {
59
+ storageValue = setInStorage(config, value);
60
+ }
61
+ return storageValue;
62
+ };
63
+ exports.checkAndSet = checkAndSet;
64
+ //# sourceMappingURL=set-dimension-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-dimension-util.js","sourceRoot":"","sources":["../../../../src/react-native/utils/DImentsionManager/set-dimension-util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fleek-track-analytics",
3
- "version": "1.3.2",
3
+ "version": "1.3.3",
4
4
  "main": "./lib/index.js",
5
5
  "types": "./lib/index.d.ts",
6
6
  "exports": {