fleek-track-analytics 0.0.96 → 0.0.99

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 CHANGED
@@ -59,6 +59,8 @@ const analyticsWrapper = new TrackAnalytics({
59
59
  });
60
60
 
61
61
  analyticsWrapper.initAnalytics();
62
+
63
+ export { analyticsWrapper }
62
64
  ```
63
65
 
64
66
  Parameter description for TrackAnalytics class constructor
@@ -1,4 +1,3 @@
1
1
  import { tAPP } from '../../track-analytics-types';
2
2
  import { IRNAnalyticsWrapper } from '../track-analytics/track-analytics-types';
3
- import { TraceManager } from '../utils/trace-manager';
4
- export type tRNToolWraperFunction = (segmentKey: string, app: tAPP, traceManager: TraceManager, debug?: boolean) => IRNAnalyticsWrapper;
3
+ export type tRNToolWraperFunction = (segmentKey: string, app: tAPP, debug?: boolean) => 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, traceManager, debug) => {
7
+ const reactNativeSegment = (segmentKey, app, debug) => {
8
8
  const client = (0, analytics_react_native_1.createClient)({
9
9
  writeKey: segmentKey,
10
10
  trackAppLifecycleEvents: true,
@@ -13,9 +13,7 @@ const reactNativeSegment = (segmentKey, app, traceManager, debug) => {
13
13
  });
14
14
  const trackWrapper = async (eventName, eventParams) => {
15
15
  const data = eventParams;
16
- const trace = await traceManager.getTraceId();
17
- console.log('testing1 in track', trace);
18
- 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(), trace_id: trace }));
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() }));
19
17
  };
20
18
  return {
21
19
  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,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;IAChG,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,KAAK,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,kCAC3C,IAAI,KACP,qBAAqB,EAAE,sBAAO,EAC9B,cAAc,EAAE,GAAG,EACnB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EACtB,QAAQ,EAAE,KAAK,IACf,CAAC;IACL,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"}
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"}
@@ -5,7 +5,6 @@ declare class TrackAnalytics {
5
5
  private initParams;
6
6
  private analyticsWrapper;
7
7
  reactNativeSegmentClient?: SegmentClient;
8
- private traceManager;
9
8
  constructor(params: IAnalyticsInit);
10
9
  initAnalytics: () => void;
11
10
  private checkInitDone;
@@ -3,14 +3,12 @@ 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 trace_manager_1 = require("../utils/trace-manager");
7
6
  class TrackAnalytics {
8
7
  constructor(params) {
9
8
  this.analyticsWrapper = null;
10
9
  this.initAnalytics = () => {
11
- this.traceManager.init();
12
10
  try {
13
- this.analyticsWrapper = (0, react_native_segment_1.reactNativeSegment)(this.initParams.segmentKey, this.initParams.App, this.traceManager, this.initParams.debug || this.initParams.devMode);
11
+ this.analyticsWrapper = (0, react_native_segment_1.reactNativeSegment)(this.initParams.segmentKey, this.initParams.App, this.initParams.debug || this.initParams.devMode);
14
12
  this.reactNativeSegmentClient = this.analyticsWrapper.segmentClient;
15
13
  }
16
14
  catch (e) {
@@ -36,7 +34,6 @@ class TrackAnalytics {
36
34
  }
37
35
  };
38
36
  this.initParams = params;
39
- this.traceManager = new trace_manager_1.TraceManager(params.errorHandler);
40
37
  }
41
38
  checkInitDone() {
42
39
  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;AAE5E,0DAAsD;AAEtD,MAAM,cAAc;IAMlB,YAAY,MAAsB;QAJ1B,qBAAgB,GAA+B,IAAI,CAAC;QAS5D,kBAAa,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,IAAI,CAAC,gBAAgB,GAAG,IAAA,yCAAkB,EACxC,IAAI,CAAC,UAAU,CAAC,UAAU,EAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,EACnB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CACjD,CAAC;gBACF,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;QA5CA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5D,CAAC;IAiBO,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;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,4 +1,3 @@
1
1
  import { tAPP } from '../../track-analytics-types';
2
2
  import { IWebAnalyticsWrapper } from '../track-analytics/track-analytics-types';
3
- import { TraceManager } from '../utils/trace-manager';
4
- export type tWebToolWraperFunction = (segmentKey: string, app: tAPP, traceManager: TraceManager, debug?: boolean) => IWebAnalyticsWrapper;
3
+ export type tWebToolWraperFunction = (segmentKey: string, app: tAPP, debug?: boolean) => IWebAnalyticsWrapper;
@@ -7,8 +7,17 @@ function isPlainObject(obj) {
7
7
  return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase() === 'object';
8
8
  }
9
9
  exports.isPlainObject = isPlainObject;
10
- const webSegment = (segmentKey, app, traceManager, debug) => {
10
+ const webSegment = (segmentKey, app, debug) => {
11
11
  const client = analytics_next_1.AnalyticsBrowser.load({ writeKey: segmentKey }, {
12
+ integrations: {
13
+ 'Segment.io': {
14
+ deliveryStrategy: {
15
+ config: {
16
+ keepalive: true,
17
+ },
18
+ },
19
+ },
20
+ },
12
21
  user: {
13
22
  persist: true,
14
23
  localStorage: {
@@ -18,20 +27,17 @@ const webSegment = (segmentKey, app, traceManager, debug) => {
18
27
  });
19
28
  return {
20
29
  track: async (eventName, eventParams, options, callback) => {
21
- const trace = traceManager.getTraceId();
22
- const eventData = Object.assign(Object.assign({}, eventParams), { anlaytics_lib_version: package_json_1.version, fleek_platform: app, time_stamp: Date.now(), trace_id: trace });
30
+ const eventData = Object.assign(Object.assign({}, eventParams), { anlaytics_lib_version: package_json_1.version, fleek_platform: app, time_stamp: Date.now() });
23
31
  if (debug) {
24
32
  console.log('TRACK EVENT', eventName, eventData);
25
33
  }
26
34
  return await client.track(eventName, eventData, options, callback);
27
35
  },
28
36
  page: async (name, props) => {
29
- const trace = traceManager.getTraceId();
30
- const eventProperties = props ? Object.assign(Object.assign({}, props), { trace_id: trace }) : { trace_id: trace };
31
37
  if (debug) {
32
- console.log('PAGE EVENT', name, eventProperties);
38
+ console.log('PAGE EVENT', name, props);
33
39
  }
34
- return await client.page(name, eventProperties);
40
+ return await client.page(name, Object.assign(Object.assign({}, props), { fleek_platform: app }));
35
41
  },
36
42
  identify: async (...args) => {
37
43
  if (debug) {
@@ -39,6 +45,9 @@ const webSegment = (segmentKey, app, traceManager, debug) => {
39
45
  }
40
46
  return await client.identify(...args);
41
47
  },
48
+ getAnonymousId: async () => {
49
+ return (await client.user()).anonymousId();
50
+ },
42
51
  type: 'WEB_SEGMENT',
43
52
  };
44
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"web-segment.js","sourceRoot":"","sources":["../../../src/web/analytics-tool/web-segment.ts"],"names":[],"mappings":";;;AAAA,4DAA2D;AAE3D,wDAAgD;AAEhD,SAAgB,aAAa,CAAC,GAAY;IACxC,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC;AACrF,CAAC;AAFD,sCAEC;AAEM,MAAM,UAAU,GAA2B,CAAC,UAAkB,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;IACjG,MAAM,MAAM,GAAG,iCAAgB,CAAC,IAAI,CAClC,EAAE,QAAQ,EAAE,UAAU,EAAE,EACxB;QACE,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,YAAY,EAAE;gBACZ,GAAG,EAAE,qBAAqB;aAC3B;SACF;KACF,CACF,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;YACzD,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,SAAS,mCAAQ,WAAW,KAAE,qBAAqB,EAAE,sBAAO,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,GAAE,CAAC;YACnI,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACnD,CAAC;YAED,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,iCAAM,KAAK,KAAE,QAAQ,EAAE,KAAK,IAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACpF,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAClD,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;YAC1B,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,EAAE,aAAa;KACpB,CAAC;AACJ,CAAC,CAAC;AAvCW,QAAA,UAAU,cAuCrB"}
1
+ {"version":3,"file":"web-segment.js","sourceRoot":"","sources":["../../../src/web/analytics-tool/web-segment.ts"],"names":[],"mappings":";;;AAAA,4DAA2D;AAE3D,wDAAgD;AAEhD,SAAgB,aAAa,CAAC,GAAY;IACxC,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC;AACrF,CAAC;AAFD,sCAEC;AAEM,MAAM,UAAU,GAA2B,CAAC,UAAkB,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACnF,MAAM,MAAM,GAAG,iCAAgB,CAAC,IAAI,CAClC,EAAE,QAAQ,EAAE,UAAU,EAAE,EACxB;QACE,YAAY,EAAE;YACZ,YAAY,EAAE;gBACZ,gBAAgB,EAAE;oBAChB,MAAM,EAAE;wBACN,SAAS,EAAE,IAAI;qBAChB;iBACF;aACF;SACF;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,YAAY,EAAE;gBACZ,GAAG,EAAE,qBAAqB;aAC3B;SACF;KACF,CACF,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;YACzD,MAAM,SAAS,mCAAQ,WAAW,KAAE,qBAAqB,EAAE,sBAAO,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC;YAClH,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACnD,CAAC;YAED,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAC1B,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,kCAAO,KAAK,KAAE,cAAc,EAAE,GAAG,IAAG,CAAC;QACpE,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;YAC1B,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,cAAc,EAAE,KAAK,IAAI,EAAE;YACzB,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,CAAC;QACD,IAAI,EAAE,aAAa;KACpB,CAAC;AACJ,CAAC,CAAC;AAhDW,QAAA,UAAU,cAgDrB"}
@@ -4,10 +4,12 @@ import { tAPP } from '../../track-analytics-types';
4
4
  export type tWebTrack = <T extends EVENT_NAMES>(eventName: T, eventParams: EVENT_MAP[T], options?: Options | Callback, callback?: Callback) => Promise<Context | void>;
5
5
  export type tWebIdentify = (id?: ID | object, traits?: UserTraits | Callback | null, options?: Options | Callback, callback?: Callback) => Promise<Context | void>;
6
6
  export type tWebPage = (name?: string | object, properties?: Record<string, unknown> | Options | Callback | null) => Promise<Context | void>;
7
+ export type tWebAnonymousId = () => Promise<ID | void>;
7
8
  export interface IWebAnalyticsWrapper {
8
9
  track: tWebTrack;
9
10
  identify: tWebIdentify;
10
11
  page: tWebPage;
12
+ getAnonymousId: tWebAnonymousId;
11
13
  type: string;
12
14
  }
13
15
  export type tToolWraperFunction = (APP: tAPP) => IWebAnalyticsWrapper;
@@ -1,14 +1,14 @@
1
1
  import { IAnalyticsInit } from '../../track-analytics-types';
2
- import { tWebIdentify, tWebPage, tWebTrack } from './track-analytics-types';
2
+ import { tWebAnonymousId, tWebIdentify, tWebPage, tWebTrack } from './track-analytics-types';
3
3
  declare class TrackAnalytics {
4
4
  private initParams;
5
5
  private analyticsWrapper;
6
- private traceManager;
7
6
  constructor(params: IAnalyticsInit);
8
7
  initAnalytics: () => Promise<void>;
9
8
  private checkInitDone;
10
9
  track: tWebTrack;
11
10
  identify: tWebIdentify;
12
11
  page: tWebPage;
12
+ getAnonymousId: tWebAnonymousId;
13
13
  }
14
14
  export { TrackAnalytics };
@@ -4,18 +4,16 @@ exports.TrackAnalytics = void 0;
4
4
  const constants_1 = require("../../constants");
5
5
  const web_segment_1 = require("../analytics-tool/web-segment");
6
6
  const dev_logger_1 = require("../utils/dev-logger");
7
- const trace_manager_1 = require("../utils/trace-manager");
8
7
  class TrackAnalytics {
9
8
  constructor(params) {
10
9
  this.analyticsWrapper = null;
11
10
  this.initAnalytics = async () => {
12
11
  try {
13
- this.traceManager.init();
14
12
  if (this.initParams.devMode && !this.initParams.debug) {
15
13
  this.analyticsWrapper = dev_logger_1.devModeLogger;
16
14
  }
17
15
  else {
18
- this.analyticsWrapper = (0, web_segment_1.webSegment)(this.initParams.segmentKey, this.initParams.App, this.traceManager, this.initParams.debug);
16
+ this.analyticsWrapper = (0, web_segment_1.webSegment)(this.initParams.segmentKey, this.initParams.App, this.initParams.debug);
19
17
  }
20
18
  }
21
19
  catch (e) {
@@ -40,8 +38,13 @@ class TrackAnalytics {
40
38
  return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.page(params));
41
39
  }
42
40
  };
41
+ this.getAnonymousId = async () => {
42
+ var _a;
43
+ if (this.checkInitDone()) {
44
+ return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.getAnonymousId());
45
+ }
46
+ };
43
47
  this.initParams = params;
44
- this.traceManager = new trace_manager_1.TraceManager(params.errorHandler);
45
48
  }
46
49
  checkInitDone() {
47
50
  if (this.analyticsWrapper) {
@@ -1 +1 @@
1
- {"version":3,"file":"track-analytics.js","sourceRoot":"","sources":["../../../src/web/track-analytics/track-analytics.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAGhD,+DAA2D;AAC3D,oDAAoD;AACpD,0DAAsD;AAEtD,MAAM,cAAc;IAKlB,YAAY,MAAsB;QAH1B,qBAAgB,GAAgC,IAAI,CAAC;QAQ7D,kBAAa,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACtD,IAAI,CAAC,gBAAgB,GAAG,0BAAa,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,gBAAgB,GAAG,IAAA,wBAAU,EAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAChI,CAAC;YACH,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC;QAYF,UAAK,GAAc,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;;YACnC,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,GAAiB,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;;YAC5C,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,SAAI,GAAa,KAAK,EAAE,MAAM,EAAE,EAAE;;YAChC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,IAAI,CAAC,MAAM,CAAC,CAAA,CAAC;YACnD,CAAC;QACH,CAAC,CAAC;QA3CA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5D,CAAC;IAeO,aAAa;QACnB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE1B,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/web/track-analytics/track-analytics.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAGhD,+DAA2D;AAC3D,oDAAoD;AAEpD,MAAM,cAAc;IAIlB,YAAY,MAAsB;QAF1B,qBAAgB,GAAgC,IAAI,CAAC;QAM7D,kBAAa,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACtD,IAAI,CAAC,gBAAgB,GAAG,0BAAa,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,gBAAgB,GAAG,IAAA,wBAAU,EAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC7G,CAAC;YACH,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC;QAYF,UAAK,GAAc,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;;YACnC,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,GAAiB,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;;YAC5C,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,SAAI,GAAa,KAAK,EAAE,MAAM,EAAE,EAAE;;YAChC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,IAAI,CAAC,MAAM,CAAC,CAAA,CAAC;YACnD,CAAC;QACH,CAAC,CAAC;QAEF,mBAAc,GAAoB,KAAK,IAAI,EAAE;;YAC3C,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,cAAc,EAAE,CAAA,CAAC;YACvD,CAAC;QACH,CAAC,CAAC;QA/CA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;IAcO,aAAa;QACnB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE1B,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;CAyBF;AAEQ,wCAAc"}
@@ -11,6 +11,9 @@ exports.devModeLogger = {
11
11
  identify: async (...args) => {
12
12
  console.log('IDENTIFY EVENT', args[0], args);
13
13
  },
14
+ getAnonymousId: async () => {
15
+ console.log('GET Anonymous ID Called');
16
+ },
14
17
  type: 'WEB-DEBUG',
15
18
  };
16
19
  //# sourceMappingURL=dev-logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev-logger.js","sourceRoot":"","sources":["../../../src/web/utils/dev-logger.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAyB;IACjD,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;QACvB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,EAAE,WAAW;CAClB,CAAC"}
1
+ {"version":3,"file":"dev-logger.js","sourceRoot":"","sources":["../../../src/web/utils/dev-logger.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAyB;IACjD,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;QACvB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,cAAc,EAAE,KAAK,IAAI,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,EAAE,WAAW;CAClB,CAAC"}
package/package.json CHANGED
@@ -1,14 +1,13 @@
1
1
  {
2
2
  "name": "fleek-track-analytics",
3
- "version": "0.0.96",
3
+ "version": "0.0.99",
4
4
  "main": "./lib/index.js",
5
5
  "types": "./lib/index.d.ts",
6
6
  "exports": {
7
7
  ".": "./lib/index.js",
8
8
  "./react-native": "./lib/react-native/index.js",
9
9
  "./lib/web": "./lib/web/index.js",
10
- "./lib/node": "./lib/node/index.js",
11
- "./lib/segment-exports": "./lib/segment-exports"
10
+ "./lib/node": "./lib/node/index.js"
12
11
  },
13
12
  "repository": {
14
13
  "type": "git",
@@ -24,7 +23,6 @@
24
23
  "build": "rm -rf lib && tsc"
25
24
  },
26
25
  "dependencies": {
27
- "@react-native-async-storage/async-storage": "^1.23.1",
28
26
  "@segment/analytics-next": "^1.66.0",
29
27
  "@segment/analytics-node": "^2.1.0",
30
28
  "@segment/analytics-react-native": "^2.19.1",
@@ -35,7 +33,6 @@
35
33
  "devDependencies": {
36
34
  "@types/jest": "^29.5.12",
37
35
  "@types/node": "^20.12.5",
38
- "@types/react-native": "^0.73.0",
39
36
  "@types/uuid": "^9.0.8",
40
37
  "@typescript-eslint/eslint-plugin": "^7.5.0",
41
38
  "@typescript-eslint/parser": "^7.5.0",
@@ -46,7 +43,7 @@
46
43
  "nodemon": "^3.1.0",
47
44
  "prettier": "^3.2.5",
48
45
  "react": "^18.2.0",
49
- "react-native": "^0.74.0",
46
+ "react-native": "^0.73.6",
50
47
  "ts-jest": "^29.1.2",
51
48
  "ts-node": "^10.9.2",
52
49
  "typescript": "^5.4.4"
@@ -1,12 +0,0 @@
1
- declare class TraceManager {
2
- private duration;
3
- private traceId?;
4
- private traceIdTS?;
5
- private errorHanlder;
6
- constructor(errorHanlder: (e: unknown) => void, duration?: number);
7
- private generateTrace;
8
- private updateTraceState;
9
- getTraceId: () => Promise<string | number>;
10
- init(): Promise<void>;
11
- }
12
- export { TraceManager };
@@ -1,79 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TraceManager = void 0;
7
- const uuid_1 = require("uuid");
8
- const async_storage_1 = __importDefault(require("@react-native-async-storage/async-storage"));
9
- const defaultDuration = 1800000;
10
- const traceKey = '__FLEEK_TRACK_TRACE__';
11
- const traceTSKey = '__FLEEK_TRACK_TRACE_TS__';
12
- class TraceManager {
13
- constructor(errorHanlder, duration) {
14
- this.getTraceId = async () => {
15
- const now = Date.now();
16
- if (this.traceId && this.traceIdTS && now - this.traceIdTS < this.duration) {
17
- this.traceIdTS = now;
18
- await this.updateTraceState(now);
19
- return this.traceIdTS;
20
- }
21
- if (this.traceId && this.traceIdTS && now - this.traceIdTS > this.duration) {
22
- return this.generateTrace(now);
23
- }
24
- return this.generateTrace(now);
25
- };
26
- this.duration = duration || defaultDuration;
27
- this.errorHanlder = errorHanlder;
28
- }
29
- async generateTrace(latestTs) {
30
- try {
31
- const storageTrace = await async_storage_1.default.getItem(traceKey);
32
- const storageTraceTS = Number.parseInt((await async_storage_1.default.getItem(traceTSKey)) || '');
33
- if (storageTrace && !Number.isNaN(storageTraceTS) && latestTs - storageTraceTS < this.duration) {
34
- this.updateTraceState(latestTs);
35
- return storageTrace;
36
- }
37
- else {
38
- const trace = (0, uuid_1.v4)();
39
- this.updateTraceState(latestTs, trace);
40
- return trace;
41
- }
42
- }
43
- catch (e) {
44
- this.errorHanlder(e);
45
- }
46
- return (0, uuid_1.v4)();
47
- }
48
- async updateTraceState(latestTs, traceId) {
49
- let timer = null;
50
- const updateTs = latestTs;
51
- console.log('testing2 updateTraceState called', latestTs, traceId);
52
- const attemptStorageUpdate = async () => {
53
- try {
54
- console.log('testing3 updating latestTS in storage', latestTs);
55
- this.traceIdTS = latestTs;
56
- await async_storage_1.default.setItem(traceTSKey, updateTs.toString());
57
- if (traceId) {
58
- console.log('testing3 updating traceId in storage', traceId);
59
- this.traceId = traceId;
60
- await async_storage_1.default.setItem(traceKey, traceId);
61
- }
62
- }
63
- catch (e) {
64
- this.errorHanlder(e);
65
- }
66
- };
67
- if (!timer) {
68
- await attemptStorageUpdate();
69
- timer = setTimeout(() => {
70
- timer = null;
71
- }, 1000);
72
- }
73
- }
74
- async init() {
75
- await this.getTraceId();
76
- }
77
- }
78
- exports.TraceManager = TraceManager;
79
- //# sourceMappingURL=trace-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trace-manager.js","sourceRoot":"","sources":["../../../src/react-native/utils/trace-manager.ts"],"names":[],"mappings":"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"}