fleek-track-analytics 0.0.60 → 0.0.62

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 (54) hide show
  1. package/lib/index.d.ts +1 -1
  2. package/lib/index.js +3 -0
  3. package/lib/index.js.map +1 -1
  4. package/lib/react-native/analytics-tool/analytics-tool-types.d.ts +2 -0
  5. package/lib/react-native/analytics-tool/analytics-tool-types.js +3 -0
  6. package/lib/react-native/analytics-tool/analytics-tool-types.js.map +1 -0
  7. package/lib/react-native/analytics-tool/react-native-segment.d.ts +2 -0
  8. package/lib/react-native/analytics-tool/react-native-segment.js +26 -0
  9. package/lib/react-native/analytics-tool/react-native-segment.js.map +1 -0
  10. package/lib/react-native/track-analytics/track-analytics-types.d.ts +23 -0
  11. package/lib/react-native/track-analytics/track-analytics-types.js +3 -0
  12. package/lib/react-native/track-analytics/track-analytics-types.js.map +1 -0
  13. package/lib/react-native/track-analytics/track-analytics.d.ts +4 -4
  14. package/lib/react-native/track-analytics/track-analytics.js +11 -8
  15. package/lib/react-native/track-analytics/track-analytics.js.map +1 -1
  16. package/lib/react-native/utils/dev-logger.d.ts +2 -0
  17. package/lib/react-native/utils/dev-logger.js +16 -0
  18. package/lib/react-native/utils/dev-logger.js.map +1 -0
  19. package/lib/{analytics-tool/utils/rn-segment-logger.js → react-native/utils/segment-logger.js} +1 -1
  20. package/lib/react-native/utils/segment-logger.js.map +1 -0
  21. package/lib/track-analytics-types.d.ts +3 -1
  22. package/lib/web/analytics-tool/analytics-tool-types.d.ts +2 -0
  23. package/lib/web/analytics-tool/analytics-tool-types.js +3 -0
  24. package/lib/web/analytics-tool/analytics-tool-types.js.map +1 -0
  25. package/lib/web/analytics-tool/web-segment.d.ts +2 -0
  26. package/lib/web/analytics-tool/web-segment.js +35 -0
  27. package/lib/web/analytics-tool/web-segment.js.map +1 -0
  28. package/lib/web/track-analytics/track-analytics-types.d.ts +13 -0
  29. package/lib/web/track-analytics/track-analytics-types.js +3 -0
  30. package/lib/web/track-analytics/track-analytics-types.js.map +1 -0
  31. package/lib/web/track-analytics/track-analytics.d.ts +4 -4
  32. package/lib/web/track-analytics/track-analytics.js +13 -13
  33. package/lib/web/track-analytics/track-analytics.js.map +1 -1
  34. package/lib/web/utils/dev-logger.d.ts +2 -0
  35. package/lib/web/utils/dev-logger.js +16 -0
  36. package/lib/web/utils/dev-logger.js.map +1 -0
  37. package/package.json +3 -3
  38. package/lib/analytics-tool/analytics-tool-types.d.ts +0 -36
  39. package/lib/analytics-tool/analytics-tool-types.js +0 -8
  40. package/lib/analytics-tool/analytics-tool-types.js.map +0 -1
  41. package/lib/analytics-tool/react-native/react-native-segment.d.ts +0 -2
  42. package/lib/analytics-tool/react-native/react-native-segment.js +0 -43
  43. package/lib/analytics-tool/react-native/react-native-segment.js.map +0 -1
  44. package/lib/analytics-tool/utils/getSegmentKey.d.ts +0 -3
  45. package/lib/analytics-tool/utils/getSegmentKey.js +0 -19
  46. package/lib/analytics-tool/utils/getSegmentKey.js.map +0 -1
  47. package/lib/analytics-tool/utils/rn-segment-logger.js.map +0 -1
  48. package/lib/analytics-tool/web/web-segment.d.ts +0 -2
  49. package/lib/analytics-tool/web/web-segment.js +0 -25
  50. package/lib/analytics-tool/web/web-segment.js.map +0 -1
  51. package/lib/react-native/track-analytics/react-native-segment.d.ts +0 -2
  52. package/lib/react-native/track-analytics/react-native-segment.js +0 -43
  53. package/lib/react-native/track-analytics/react-native-segment.js.map +0 -1
  54. /package/lib/{analytics-tool/utils/rn-segment-logger.d.ts → react-native/utils/segment-logger.d.ts} +0 -0
package/lib/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { EVENT_MAP } from './event-map/event-map';
1
+ export { EVENT_MAP, EVENT_NAMES } from './event-map/event-map';
package/lib/index.js CHANGED
@@ -1,3 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EVENT_NAMES = void 0;
4
+ var event_map_1 = require("./event-map/event-map");
5
+ Object.defineProperty(exports, "EVENT_NAMES", { enumerable: true, get: function () { return event_map_1.EVENT_NAMES; } });
3
6
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAA+D;AAA3C,wGAAA,WAAW,OAAA"}
@@ -0,0 +1,2 @@
1
+ import { IRNAnalyticsWrapper } from '../track-analytics/track-analytics-types';
2
+ export type tRNToolWraperFunction = (segmentKey: string, debug?: boolean) => IRNAnalyticsWrapper;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=analytics-tool-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics-tool-types.js","sourceRoot":"","sources":["../../../src/react-native/analytics-tool/analytics-tool-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { tRNToolWraperFunction } from './analytics-tool-types';
2
+ export declare const reactNativeSegment: tRNToolWraperFunction;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reactNativeSegment = void 0;
4
+ const analytics_react_native_1 = require("@segment/analytics-react-native");
5
+ const segment_logger_1 = require("../utils/segment-logger");
6
+ const reactNativeSegment = (segmentKey, debug) => {
7
+ const client = (0, analytics_react_native_1.createClient)({
8
+ writeKey: segmentKey,
9
+ trackAppLifecycleEvents: true,
10
+ debug: debug,
11
+ logger: debug ? segment_logger_1.rnSegmentLogger : undefined,
12
+ });
13
+ const trackWrapper = async (eventName, eventParams) => {
14
+ const data = eventParams;
15
+ return await client.track(eventName, Object.assign(Object.assign({}, data), { analyticsLib: true }));
16
+ };
17
+ return {
18
+ track: trackWrapper,
19
+ screen: client.screen,
20
+ identify: client.identify,
21
+ type: 'RN_SEGMENT',
22
+ segmentClient: client,
23
+ };
24
+ };
25
+ exports.reactNativeSegment = reactNativeSegment;
26
+ //# sourceMappingURL=react-native-segment.js.map
@@ -0,0 +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;AAInD,MAAM,kBAAkB,GAA0B,CAAC,UAAkB,EAAE,KAAe,EAAE,EAAE;IAC/F,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,SAAS,kCAAO,IAAI,KAAE,YAAY,EAAE,IAAI,IAAG,CAAC;IACxE,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,MAAM;KACtB,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,kBAAkB,sBAoB7B"}
@@ -0,0 +1,23 @@
1
+ import { SegmentClient } from '@segment/analytics-react-native';
2
+ import { UserTraits } from '@segment/analytics-react-native';
3
+ import { EVENT_MAP, EVENT_NAMES } from '../../event-map/event-map';
4
+ export type tRNTrack = <T extends EVENT_NAMES>(eventName: T, eventParams: EVENT_MAP[T]) => Promise<void>;
5
+ export type tRNIdentify = (id?: string, traits?: UserTraits) => Promise<void>;
6
+ export type tRNScreen = (name: string, options?: JsonMap) => Promise<void>;
7
+ export type JsonList = Array<JsonValue>;
8
+ export type JsonValue = boolean | number | string | null | JsonList | JsonMap | undefined;
9
+ export interface JsonMap {
10
+ [key: string]: JsonValue;
11
+ [index: number]: JsonValue;
12
+ }
13
+ export interface IRNScreenParams {
14
+ name: string;
15
+ properties?: JsonMap;
16
+ }
17
+ export interface IRNAnalyticsWrapper {
18
+ track: tRNTrack;
19
+ identify: tRNIdentify;
20
+ screen: tRNScreen;
21
+ type: string;
22
+ segmentClient?: SegmentClient;
23
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=track-analytics-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-analytics-types.js","sourceRoot":"","sources":["../../../src/react-native/track-analytics/track-analytics-types.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  import { SegmentClient } from '@segment/analytics-react-native';
2
- import { tIdentify, tScreen, tTrack } from '../../analytics-tool/analytics-tool-types';
3
2
  import { IAnalyticsInit } from '../../track-analytics-types';
3
+ import { tRNIdentify, tRNScreen, tRNTrack } from './track-analytics-types';
4
4
  declare class TrackAnalytics {
5
5
  private initParams;
6
6
  private analyticsWrapper;
@@ -8,8 +8,8 @@ declare class TrackAnalytics {
8
8
  constructor(params: IAnalyticsInit);
9
9
  initAnalytics: () => void;
10
10
  private checkInitDone;
11
- track: tTrack;
12
- identify: tIdentify;
13
- screen: tScreen;
11
+ track: tRNTrack;
12
+ identify: tRNIdentify;
13
+ screen: tRNScreen;
14
14
  }
15
15
  export { TrackAnalytics };
@@ -1,25 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TrackAnalytics = void 0;
4
- const react_native_segment_1 = require("../../analytics-tool/react-native/react-native-segment");
5
- const analytics_tool_types_1 = require("../../analytics-tool/analytics-tool-types");
6
4
  const constants_1 = require("../../constants");
5
+ const react_native_segment_1 = require("../analytics-tool/react-native-segment");
6
+ const dev_logger_1 = require("../utils/dev-logger");
7
7
  class TrackAnalytics {
8
8
  constructor(params) {
9
9
  this.analyticsWrapper = null;
10
10
  this.initAnalytics = () => {
11
11
  try {
12
- this.analyticsWrapper = (0, react_native_segment_1.reactNativeSegment)(this.initParams.App);
12
+ if (this.initParams.devMode && !this.initParams.debug) {
13
+ this.analyticsWrapper = dev_logger_1.devModeLogger;
14
+ }
15
+ else {
16
+ this.analyticsWrapper = (0, react_native_segment_1.reactNativeSegment)(this.initParams.App, this.initParams.debug);
17
+ }
13
18
  this.reactNativeSegmentClient = this.analyticsWrapper.segmentClient;
14
19
  }
15
20
  catch (e) {
16
21
  throw new Error(constants_1.ERROR_MESSAGE.ANALYTICS_INIT_FAILED);
17
22
  }
18
23
  };
19
- this.track = async (type, params) => {
24
+ this.track = async (...args) => {
20
25
  var _a;
21
26
  if (this.checkInitDone()) {
22
- return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.track(type, params));
27
+ return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.track(...args));
23
28
  }
24
29
  };
25
30
  this.identify = async (id, traits) => {
@@ -31,9 +36,7 @@ class TrackAnalytics {
31
36
  this.screen = async (params) => {
32
37
  var _a;
33
38
  if (this.checkInitDone()) {
34
- if ((0, analytics_tool_types_1.isScreenWeb)(params, 'REACT_NATIVE')) {
35
- return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.screen(params));
36
- }
39
+ return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.screen(params));
37
40
  }
38
41
  };
39
42
  this.initParams = params;
@@ -1 +1 @@
1
- {"version":3,"file":"track-analytics.js","sourceRoot":"","sources":["../../../src/react-native/track-analytics/track-analytics.ts"],"names":[],"mappings":";;;AACA,iGAA4F;AAC5F,oFAAuH;AAEvH,+CAAgD;AAEhD,MAAM,cAAc;IAKlB,YAAY,MAAsB;QAH1B,qBAAgB,GAA6B,IAAI,CAAC;QAO1D,kBAAa,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC;gBACH,IAAI,CAAC,gBAAgB,GAAG,IAAA,yCAAkB,EAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAChE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;YACtE,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,yBAAa,CAAC,qBAAqB,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC;QAWF,UAAK,GAAW,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;;YACrC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC;QAEF,aAAQ,GAAc,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;;YACzC,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,GAAY,KAAK,EAAE,MAAM,EAAE,EAAE;;YACjC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,IAAI,IAAA,kCAAW,EAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;oBACxC,OAAO,MAAM,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,CAAC,MAAM,CAAC,CAAA,CAAC;gBACrD,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAvCA,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;CAqBF;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,oDAAoD;AAEpD,MAAM,cAAc;IAKlB,YAAY,MAAsB;QAH1B,qBAAgB,GAA+B,IAAI,CAAC;QAO5D,kBAAa,GAAG,GAAG,EAAE;YACnB,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,yCAAkB,EAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACzF,CAAC;gBACD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;YACtE,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,yBAAa,CAAC,qBAAqB,CAAC,CAAC;YACvD,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;QAzCA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;IAeO,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,2 @@
1
+ import { IRNAnalyticsWrapper } from '../track-analytics/track-analytics-types';
2
+ export declare const devModeLogger: IRNAnalyticsWrapper;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.devModeLogger = void 0;
4
+ exports.devModeLogger = {
5
+ track: async (...args) => {
6
+ console.log('TRACK EVENT', args[0], args);
7
+ },
8
+ screen: async (...args) => {
9
+ console.log('PAGE EVENT', args);
10
+ },
11
+ identify: async (...args) => {
12
+ console.log('IDENTIFY EVENT', args[0], args);
13
+ },
14
+ type: 'WEB-DEBUG',
15
+ };
16
+ //# sourceMappingURL=dev-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-logger.js","sourceRoot":"","sources":["../../../src/react-native/utils/dev-logger.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAwB;IAChD,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,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;QACxB,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"}
@@ -14,4 +14,4 @@ exports.rnSegmentLogger = {
14
14
  enable: () => { },
15
15
  disable: () => { },
16
16
  };
17
- //# sourceMappingURL=rn-segment-logger.js.map
17
+ //# sourceMappingURL=segment-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segment-logger.js","sourceRoot":"","sources":["../../../src/react-native/utils/segment-logger.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAA0B;IACpD,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;QACnB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;IAChB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;CAClB,CAAC"}
@@ -4,5 +4,7 @@ export interface IAnalyticsInit {
4
4
  platform: tPLATFORM;
5
5
  App: tAPP;
6
6
  segment: boolean;
7
- pixel: boolean;
7
+ segmentKey: string;
8
+ devMode?: boolean;
9
+ debug?: boolean;
8
10
  }
@@ -0,0 +1,2 @@
1
+ import { IWebAnalyticsWrapper } from '../track-analytics/track-analytics-types';
2
+ export type tWebToolWraperFunction = (segmentKey: string, debug?: boolean) => IWebAnalyticsWrapper;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=analytics-tool-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics-tool-types.js","sourceRoot":"","sources":["../../../src/web/analytics-tool/analytics-tool-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { tWebToolWraperFunction } from './analytics-tool-types';
2
+ export declare const webSegment: tWebToolWraperFunction;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webSegment = void 0;
4
+ const analytics_next_1 = require("@segment/analytics-next");
5
+ const webSegment = (segmentKey, debug) => {
6
+ const client = analytics_next_1.AnalyticsBrowser.load({ writeKey: segmentKey }, {
7
+ user: {
8
+ persist: true,
9
+ localStorage: {
10
+ key: 'segment_user_traits',
11
+ },
12
+ },
13
+ });
14
+ if (debug) {
15
+ client.on('track', (event, properties) => {
16
+ console.log('TRACK EVENT', event, properties);
17
+ });
18
+ client.on('page', (event, properties, options) => {
19
+ console.log('PAGE EVENT', event, properties, options);
20
+ });
21
+ client.on('identify', (event, properties) => {
22
+ console.log('IDENTIFY EVENT', event, properties);
23
+ });
24
+ }
25
+ return {
26
+ track: async (eventName, eventParams, options, callback) => {
27
+ return await client.track(eventName, Object.assign(Object.assign({}, eventParams), { analyticLib: true }), options, callback);
28
+ },
29
+ page: client.page,
30
+ identify: client.identify,
31
+ type: 'WEB_SEGMENT',
32
+ };
33
+ };
34
+ exports.webSegment = webSegment;
35
+ //# sourceMappingURL=web-segment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-segment.js","sourceRoot":"","sources":["../../../src/web/analytics-tool/web-segment.ts"],"names":[],"mappings":";;;AAAA,4DAA2D;AAGpD,MAAM,UAAU,GAA2B,CAAC,UAAkB,EAAE,KAAK,EAAE,EAAE;IAC9E,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,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACvC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;YAC/C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YAC1C,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;YACzD,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,kCAAO,WAAW,KAAE,WAAW,EAAE,IAAI,KAAI,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,aAAa;KACpB,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,UAAU,cAiCrB"}
@@ -0,0 +1,13 @@
1
+ import { Callback, Context, ID, Options, UserTraits } from '@segment/analytics-next';
2
+ import { EVENT_MAP, EVENT_NAMES } from '../../event-map/event-map';
3
+ import { tAPP } from '../../track-analytics-types';
4
+ export type tWebTrack = <T extends EVENT_NAMES>(eventName: T, eventParams: EVENT_MAP[T], options?: Options | Callback, callback?: Callback) => Promise<Context | void>;
5
+ export type tWebIdentify = (id?: ID | object, traits?: UserTraits | Callback | null, options?: Options | Callback, callback?: Callback) => Promise<Context | void>;
6
+ export type tWebPage = (category?: string | object, name?: string | object | Callback, properties?: Record<string, unknown> | Options | Callback | null, options?: Options | Callback, callback?: Callback) => Promise<Context | void>;
7
+ export interface IWebAnalyticsWrapper {
8
+ track: tWebTrack;
9
+ identify: tWebIdentify;
10
+ page: tWebPage;
11
+ type: string;
12
+ }
13
+ export type tToolWraperFunction = (APP: tAPP) => IWebAnalyticsWrapper;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=track-analytics-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-analytics-types.js","sourceRoot":"","sources":["../../../src/web/track-analytics/track-analytics-types.ts"],"names":[],"mappings":""}
@@ -1,13 +1,13 @@
1
- import { tIdentify, tScreen, tTrack } from '../../analytics-tool/analytics-tool-types';
2
1
  import { IAnalyticsInit } from '../../track-analytics-types';
2
+ import { tWebIdentify, tWebPage, tWebTrack } from './track-analytics-types';
3
3
  declare class TrackAnalytics {
4
4
  private initParams;
5
5
  private analyticsWrapper;
6
6
  constructor(params: IAnalyticsInit);
7
7
  initAnalytics: () => Promise<void>;
8
8
  private checkInitDone;
9
- track: tTrack;
10
- identify: tIdentify;
11
- screen: tScreen;
9
+ track: tWebTrack;
10
+ identify: tWebIdentify;
11
+ page: tWebPage;
12
12
  }
13
13
  export { TrackAnalytics };
@@ -1,24 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TrackAnalytics = void 0;
4
- const web_segment_1 = require("../../analytics-tool/web/web-segment");
5
4
  const constants_1 = require("../../constants");
6
- const analytics_tool_types_1 = require("../../analytics-tool/analytics-tool-types");
5
+ const web_segment_1 = require("../analytics-tool/web-segment");
6
+ const dev_logger_1 = require("../utils/dev-logger");
7
7
  class TrackAnalytics {
8
8
  constructor(params) {
9
9
  this.analyticsWrapper = null;
10
10
  this.initAnalytics = async () => {
11
11
  try {
12
- this.analyticsWrapper = (0, web_segment_1.webSegment)(this.initParams.App);
12
+ if (this.initParams.devMode && !this.initParams.debug) {
13
+ this.analyticsWrapper = dev_logger_1.devModeLogger;
14
+ }
15
+ else {
16
+ this.analyticsWrapper = (0, web_segment_1.webSegment)(this.initParams.App);
17
+ }
13
18
  }
14
19
  catch (e) {
15
20
  throw new Error(constants_1.ERROR_MESSAGE.ANALYTICS_INIT_FAILED);
16
21
  }
17
22
  };
18
- this.track = async (type, params) => {
23
+ this.track = async (...args) => {
19
24
  var _a;
20
25
  if (this.checkInitDone()) {
21
- return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.track(type, params));
26
+ return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.track(...args));
22
27
  }
23
28
  };
24
29
  this.identify = async (id, traits) => {
@@ -27,15 +32,10 @@ class TrackAnalytics {
27
32
  return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.identify(id, traits));
28
33
  }
29
34
  };
30
- this.screen = async (params) => {
31
- var _a, _b;
35
+ this.page = async (params) => {
36
+ var _a;
32
37
  if (this.checkInitDone()) {
33
- if ((0, analytics_tool_types_1.isScreenWeb)(params, 'WEB')) {
34
- return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.screen(params));
35
- }
36
- else {
37
- return await ((_b = this.analyticsWrapper) === null || _b === void 0 ? void 0 : _b.screen(params));
38
- }
38
+ return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.page(params));
39
39
  }
40
40
  };
41
41
  this.initParams = params;
@@ -1 +1 @@
1
- {"version":3,"file":"track-analytics.js","sourceRoot":"","sources":["../../../src/web/track-analytics/track-analytics.ts"],"names":[],"mappings":";;;AAAA,sEAAkE;AAClE,+CAAgD;AAChD,oFAAuH;AAGvH,MAAM,cAAc;IAIlB,YAAY,MAAsB;QAF1B,qBAAgB,GAA6B,IAAI,CAAC;QAM1D,kBAAa,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC;gBACH,IAAI,CAAC,gBAAgB,GAAG,IAAA,wBAAU,EAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,yBAAa,CAAC,qBAAqB,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC;QAWF,UAAK,GAAW,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;;YACrC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC;QAEF,aAAQ,GAAc,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;;YACzC,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,GAAY,KAAK,EAAE,MAAM,EAAE,EAAE;;YACjC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,IAAI,IAAA,kCAAW,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC/B,OAAO,MAAM,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,CAAC,MAAM,CAAC,CAAA,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACN,OAAO,MAAM,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,CAAC,MAAM,CAAC,CAAA,CAAC;gBACrD,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAxCA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;IAUO,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;CAuBF;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,GAAG,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,yBAAa,CAAC,qBAAqB,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC;QAWF,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;QAxCA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;IAcO,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,2 @@
1
+ import { IWebAnalyticsWrapper } from '../track-analytics/track-analytics-types';
2
+ export declare const devModeLogger: IWebAnalyticsWrapper;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.devModeLogger = void 0;
4
+ exports.devModeLogger = {
5
+ track: async (...args) => {
6
+ console.log('TRACK EVENT', args[0], args);
7
+ },
8
+ page: async (...args) => {
9
+ console.log('PAGE EVENT', args);
10
+ },
11
+ identify: async (...args) => {
12
+ console.log('IDENTIFY EVENT', args[0], args);
13
+ },
14
+ type: 'WEB-DEBUG',
15
+ };
16
+ //# sourceMappingURL=dev-logger.js.map
@@ -0,0 +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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "fleek-track-analytics",
3
- "version": "0.0.60",
3
+ "version": "0.0.62",
4
4
  "main": "./lib/index.js",
5
- "types": "./dist/index.d.ts",
5
+ "types": "./lib/index.d.ts",
6
6
  "exports": {
7
7
  ".": "./lib/index.js",
8
8
  "./react-native": "./lib/react-native/index.js",
9
- "./web": "./lib/web/index.js"
9
+ "./lib/web": "./lib/web/index.js"
10
10
  },
11
11
  "repository": {
12
12
  "type": "git",
@@ -1,36 +0,0 @@
1
- import { SegmentClient } from '@segment/analytics-react-native';
2
- import { EVENT_MAP, EVENT_NAMES } from '../event-map/event-map';
3
- import { IAnalyticsInit, tAPP, tPLATFORM } from '../track-analytics-types';
4
- import { Context, ID, UserTraits } from '@segment/analytics-next';
5
- import { UserTraits as RNUserTraits } from '@segment/analytics-react-native';
6
- export type tTrack = <T extends EVENT_NAMES>(eventName: T, eventParams: EVENT_MAP[T]) => Promise<Context | void>;
7
- export type tIdentify = (id?: object | ID, traits?: UserTraits | RNUserTraits) => Promise<Context | void>;
8
- export type tScreen = (params: IWebScreenParams | IRNScreenParams) => Promise<Context | void>;
9
- export type JsonList = Array<JsonValue>;
10
- export type JsonValue = boolean | number | string | null | JsonList | JsonMap | undefined;
11
- export interface JsonMap {
12
- [key: string]: JsonValue;
13
- [index: number]: JsonValue;
14
- }
15
- export interface IWebScreenParams {
16
- category?: string;
17
- name?: string;
18
- properties?: Record<string, unknown>;
19
- options?: Record<string, unknown>;
20
- callback?: () => void;
21
- }
22
- export interface IRNScreenParams {
23
- name: string;
24
- properties?: JsonMap;
25
- }
26
- export interface IAnalyticsWrapper {
27
- track: tTrack;
28
- identify: tIdentify;
29
- screen: tScreen;
30
- type: string;
31
- segmentClient?: SegmentClient;
32
- }
33
- export declare const isScreenWeb: (params: IWebScreenParams | IRNScreenParams, platform: tPLATFORM) => params is IWebScreenParams;
34
- type tInit = (params: IAnalyticsInit) => Promise<IAnalyticsWrapper>;
35
- export { tInit as trackAnalyticsInit };
36
- export type tToolWraperFunction = (APP: tAPP) => IAnalyticsWrapper;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isScreenWeb = void 0;
4
- const isScreenWeb = (params, platform) => {
5
- return params && (platform === 'WEB' || platform === 'NODE');
6
- };
7
- exports.isScreenWeb = isScreenWeb;
8
- //# sourceMappingURL=analytics-tool-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics-tool-types.js","sourceRoot":"","sources":["../../src/analytics-tool/analytics-tool-types.ts"],"names":[],"mappings":";;;AAgDO,MAAM,WAAW,GAAG,CAAC,MAA0C,EAAE,QAAmB,EAA8B,EAAE;IACzH,OAAO,MAAM,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,MAAM,CAAC,CAAC;AAC/D,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB"}
@@ -1,2 +0,0 @@
1
- import { tToolWraperFunction } from '../analytics-tool-types';
2
- export declare const reactNativeSegment: tToolWraperFunction;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reactNativeSegment = void 0;
4
- const analytics_react_native_1 = require("@segment/analytics-react-native");
5
- const getSegmentKey_1 = require("../utils/getSegmentKey");
6
- const analytics_tool_types_1 = require("../analytics-tool-types");
7
- const rn_segment_logger_1 = require("../utils/rn-segment-logger");
8
- const reactNativeSegment = (APP) => {
9
- const segmentKey = (0, getSegmentKey_1.getSegmentKey)(APP);
10
- const client = (0, analytics_react_native_1.createClient)({
11
- writeKey: segmentKey,
12
- trackAppLifecycleEvents: true,
13
- debug: true,
14
- logger: rn_segment_logger_1.rnSegmentLogger,
15
- });
16
- const trackWrapper = async (eventName, eventParams) => {
17
- const data = eventParams;
18
- console.log('Sending event ftom reactNativeSegment', eventName, eventParams);
19
- return await client
20
- .track(eventName, Object.assign(Object.assign({}, data), { analyticsLib: true }))
21
- .then()
22
- .catch((e) => {
23
- console.log('track catch error', JSON.stringify(e));
24
- });
25
- };
26
- const identifyWrapper = async (id, traits) => {
27
- await client.identify(id, Object.assign(Object.assign({}, traits), { avatar: 'ANALYTICS_LIB' }));
28
- };
29
- const screenWrapper = async (params) => {
30
- if (!(0, analytics_tool_types_1.isScreenWeb)(params, 'REACT_NATIVE')) {
31
- return await client.screen(params.name, Object.assign(Object.assign({}, params.properties), { analyticsLib: true }));
32
- }
33
- };
34
- return {
35
- track: trackWrapper,
36
- screen: screenWrapper,
37
- identify: identifyWrapper,
38
- type: 'RN_SEGMENT',
39
- segmentClient: client,
40
- };
41
- };
42
- exports.reactNativeSegment = reactNativeSegment;
43
- //# sourceMappingURL=react-native-segment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-native-segment.js","sourceRoot":"","sources":["../../../src/analytics-tool/react-native/react-native-segment.ts"],"names":[],"mappings":";;;AAAA,4EAA+D;AAC/D,0DAAuD;AAGvD,kEAAkF;AAElF,kEAA6D;AAEtD,MAAM,kBAAkB,GAAwB,CAAC,GAAS,EAAE,EAAE;IACnE,MAAM,UAAU,GAAG,IAAA,6BAAa,EAAC,GAAG,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAA,qCAAY,EAAC;QAC1B,QAAQ,EAAE,UAAU;QACpB,uBAAuB,EAAE,IAAI;QAC7B,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,mCAAe;KACxB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAW,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE;QAE5D,MAAM,IAAI,GAAG,WAA2C,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7E,OAAO,MAAM,MAAM;aAChB,KAAK,CAAC,SAAS,kCAAO,IAAI,KAAE,YAAY,EAAE,IAAI,IAAG;aACjD,IAAI,EAAE;aACN,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,eAAe,GAAc,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;QACtD,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAY,EAAE,gCAAK,MAAM,KAAE,MAAM,EAAE,eAAe,GAAkB,CAAC,CAAC;IAC9F,CAAC,CAAC;IAEF,MAAM,aAAa,GAAY,KAAK,EAAE,MAAM,EAAE,EAAE;QAC9C,IAAI,CAAC,IAAA,kCAAW,EAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;YACzC,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,kCAAO,MAAM,CAAC,UAAU,KAAE,YAAY,EAAE,IAAI,IAAG,CAAC;QACxF,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,MAAM;KACtB,CAAC;AACJ,CAAC,CAAC;AAtCW,QAAA,kBAAkB,sBAsC7B"}
@@ -1,3 +0,0 @@
1
- import { tAPP } from '../../track-analytics-types';
2
- export declare const SEGMENT_KEY_NOT_FOUND = "SEGMENT_KEY_NOT_FOUND";
3
- export declare const getSegmentKey: (APP: tAPP) => string;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSegmentKey = exports.SEGMENT_KEY_NOT_FOUND = void 0;
4
- exports.SEGMENT_KEY_NOT_FOUND = 'SEGMENT_KEY_NOT_FOUND';
5
- const getSegmentKey = (APP) => {
6
- let key = '';
7
- if (APP === 'CONSUMER_APP' || APP === 'VENDOR_APP') {
8
- key = process.env.EXPO_PUBLIC_SEGMENT_KEY || exports.SEGMENT_KEY_NOT_FOUND;
9
- }
10
- if (APP === 'CONSUMER_WEB') {
11
- key = process.env.NEXT_PUBLIC_SEGMENT_KEY || exports.SEGMENT_KEY_NOT_FOUND;
12
- }
13
- if (!key || key === exports.SEGMENT_KEY_NOT_FOUND) {
14
- console.error(exports.SEGMENT_KEY_NOT_FOUND, APP);
15
- }
16
- return key;
17
- };
18
- exports.getSegmentKey = getSegmentKey;
19
- //# sourceMappingURL=getSegmentKey.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getSegmentKey.js","sourceRoot":"","sources":["../../../src/analytics-tool/utils/getSegmentKey.ts"],"names":[],"mappings":";;;AAEa,QAAA,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,MAAM,aAAa,GAAG,CAAC,GAAS,EAAE,EAAE;IACzC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QACnD,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,6BAAqB,CAAC;IACrE,CAAC;IACD,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;QAC3B,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,6BAAqB,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,6BAAqB,EAAE,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,6BAAqB,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAbW,QAAA,aAAa,iBAaxB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rn-segment-logger.js","sourceRoot":"","sources":["../../../src/analytics-tool/utils/rn-segment-logger.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAA0B;IACpD,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE;QACnB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;IAChB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;CAClB,CAAC"}
@@ -1,2 +0,0 @@
1
- import { tToolWraperFunction } from '../analytics-tool-types';
2
- export declare const webSegment: tToolWraperFunction;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.webSegment = void 0;
4
- const getSegmentKey_1 = require("../utils/getSegmentKey");
5
- const analytics_next_1 = require("@segment/analytics-next");
6
- const analytics_tool_types_1 = require("../analytics-tool-types");
7
- const webSegment = (APP) => {
8
- const segmentKey = (0, getSegmentKey_1.getSegmentKey)(APP);
9
- const client = analytics_next_1.AnalyticsBrowser.load({ writeKey: segmentKey });
10
- return {
11
- track: async (eventName, eventParams) => {
12
- return await client.track(eventName, Object.assign(Object.assign({}, eventParams), { analyticLib: true }));
13
- },
14
- screen: async (params) => {
15
- if ((0, analytics_tool_types_1.isScreenWeb)(params, 'WEB')) {
16
- return await client.page(params.category, params.name, params.properties, params.options, params.callback);
17
- }
18
- return;
19
- },
20
- identify: client.identify,
21
- type: 'WEB_SEGMENT',
22
- };
23
- };
24
- exports.webSegment = webSegment;
25
- //# sourceMappingURL=web-segment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web-segment.js","sourceRoot":"","sources":["../../../src/analytics-tool/web/web-segment.ts"],"names":[],"mappings":";;;AAAA,0DAAuD;AACvD,4DAA2D;AAG3D,kEAAsD;AAE/C,MAAM,UAAU,GAAwB,CAAC,GAAS,EAAE,EAAE;IAC3D,MAAM,UAAU,GAAG,IAAA,6BAAa,EAAC,GAAG,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,iCAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAE/D,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE;YACtC,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,kCAAO,WAAW,KAAE,WAAW,EAAE,IAAI,IAAG,CAAC;QAC9E,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,IAAA,kCAAW,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7G,CAAC;YACD,OAAO;QACT,CAAC;QACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,aAAa;KACpB,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,UAAU,cAiBrB"}
@@ -1,2 +0,0 @@
1
- import { tToolWraperFunction } from 'src/analytics-tool/analytics-tool-types';
2
- export declare const reactNativeSegment: tToolWraperFunction;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reactNativeSegment = void 0;
4
- const analytics_react_native_1 = require("@segment/analytics-react-native");
5
- const getSegmentKey_1 = require("../../analytics-tool/utils/getSegmentKey");
6
- const analytics_tool_types_1 = require("../../analytics-tool/analytics-tool-types");
7
- const rn_segment_logger_1 = require("../../analytics-tool/utils/rn-segment-logger");
8
- const reactNativeSegment = (APP) => {
9
- const segmentKey = (0, getSegmentKey_1.getSegmentKey)(APP);
10
- const client = (0, analytics_react_native_1.createClient)({
11
- writeKey: segmentKey,
12
- trackAppLifecycleEvents: true,
13
- debug: true,
14
- logger: rn_segment_logger_1.rnSegmentLogger,
15
- });
16
- const trackWrapper = async (eventName, eventParams) => {
17
- const data = eventParams;
18
- console.log('Sending event ftom reactNativeSegment', eventName, eventParams);
19
- return await client
20
- .track(eventName, Object.assign(Object.assign({}, data), { analyticsLib: true }))
21
- .then()
22
- .catch((e) => {
23
- console.log('track catch error', JSON.stringify(e));
24
- });
25
- };
26
- const identifyWrapper = async (id, traits) => {
27
- await client.identify(id, Object.assign(Object.assign({}, traits), { avatar: 'ANALYTICS_LIB' }));
28
- };
29
- const screenWrapper = async (params) => {
30
- if (!(0, analytics_tool_types_1.isScreenWeb)(params, 'REACT_NATIVE')) {
31
- return await client.screen(params.name, Object.assign(Object.assign({}, params.properties), { analyticsLib: true }));
32
- }
33
- };
34
- return {
35
- track: trackWrapper,
36
- screen: screenWrapper,
37
- identify: identifyWrapper,
38
- type: 'RN_SEGMENT',
39
- segmentClient: client,
40
- };
41
- };
42
- exports.reactNativeSegment = reactNativeSegment;
43
- //# sourceMappingURL=react-native-segment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-native-segment.js","sourceRoot":"","sources":["../../../src/react-native/track-analytics/react-native-segment.ts"],"names":[],"mappings":";;;AAAA,4EAA+D;AAC/D,4EAAyE;AAGzE,oFAAoG;AAEpG,oFAA+E;AAExE,MAAM,kBAAkB,GAAwB,CAAC,GAAS,EAAE,EAAE;IACnE,MAAM,UAAU,GAAG,IAAA,6BAAa,EAAC,GAAG,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAA,qCAAY,EAAC;QAC1B,QAAQ,EAAE,UAAU;QACpB,uBAAuB,EAAE,IAAI;QAC7B,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,mCAAe;KACxB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAW,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE;QAE5D,MAAM,IAAI,GAAG,WAA2C,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7E,OAAO,MAAM,MAAM;aAChB,KAAK,CAAC,SAAS,kCAAO,IAAI,KAAE,YAAY,EAAE,IAAI,IAAG;aACjD,IAAI,EAAE;aACN,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,eAAe,GAAc,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;QACtD,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAY,EAAE,gCAAK,MAAM,KAAE,MAAM,EAAE,eAAe,GAAkB,CAAC,CAAC;IAC9F,CAAC,CAAC;IAEF,MAAM,aAAa,GAAY,KAAK,EAAE,MAAM,EAAE,EAAE;QAC9C,IAAI,CAAC,IAAA,kCAAW,EAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;YACzC,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,kCAAO,MAAM,CAAC,UAAU,KAAE,YAAY,EAAE,IAAI,IAAG,CAAC;QACxF,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,MAAM;KACtB,CAAC;AACJ,CAAC,CAAC;AAtCW,QAAA,kBAAkB,sBAsC7B"}