fleek-track-analytics 0.0.55 → 0.0.57

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 (59) hide show
  1. package/dist/analytics-tool/lazy-load-tool.d.ts +2 -0
  2. package/dist/analytics-tool/lazy-load-tool.js +59 -0
  3. package/dist/analytics-tool/lazy-load-tool.js.map +1 -0
  4. package/dist/analytics-tool/react-native-segment.d.ts +2 -0
  5. package/dist/analytics-tool/react-native-segment.js +43 -0
  6. package/dist/analytics-tool/react-native-segment.js.map +1 -0
  7. package/dist/analytics-tool/types.d.ts +3 -0
  8. package/dist/analytics-tool/types.js +3 -0
  9. package/dist/analytics-tool/types.js.map +1 -0
  10. package/dist/analytics-tool/utils/getSegmentKey.d.ts +3 -0
  11. package/dist/analytics-tool/utils/getSegmentKey.js +19 -0
  12. package/dist/analytics-tool/utils/getSegmentKey.js.map +1 -0
  13. package/dist/analytics-tool/utils/rn-segment-logger.d.ts +2 -0
  14. package/dist/analytics-tool/utils/rn-segment-logger.js +17 -0
  15. package/dist/analytics-tool/utils/rn-segment-logger.js.map +1 -0
  16. package/dist/analytics-tool/web-segment.d.ts +2 -0
  17. package/dist/analytics-tool/web-segment.js +25 -0
  18. package/dist/analytics-tool/web-segment.js.map +1 -0
  19. package/dist/constants.d.ts +4 -0
  20. package/dist/constants.js +8 -0
  21. package/dist/constants.js.map +1 -0
  22. package/dist/event-map/event-map.d.ts +31 -0
  23. package/dist/event-map/event-map.js +9 -0
  24. package/dist/event-map/event-map.js.map +1 -0
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.js +6 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/init/init.d.ts +2 -0
  29. package/dist/init/init.js +26 -0
  30. package/dist/init/init.js.map +1 -0
  31. package/dist/init/init.test.d.ts +1 -0
  32. package/dist/init/init.test.js +18 -0
  33. package/dist/init/init.test.js.map +1 -0
  34. package/dist/init/types.d.ts +35 -0
  35. package/dist/init/types.js +8 -0
  36. package/dist/init/types.js.map +1 -0
  37. package/dist/react-native/index.d.ts +1 -0
  38. package/dist/react-native/index.js +6 -0
  39. package/dist/react-native/index.js.map +1 -0
  40. package/dist/react-native/rn-track-analytics/track-analytics.d.ts +15 -0
  41. package/dist/react-native/rn-track-analytics/track-analytics.js +55 -0
  42. package/dist/react-native/rn-track-analytics/track-analytics.js.map +1 -0
  43. package/dist/segment-utils.d.ts +1 -0
  44. package/dist/segment-utils.js +7 -0
  45. package/dist/segment-utils.js.map +1 -0
  46. package/dist/track-analytics/track-analytics.d.ts +15 -0
  47. package/dist/track-analytics/track-analytics.js +57 -0
  48. package/dist/track-analytics/track-analytics.js.map +1 -0
  49. package/dist/types.d.ts +8 -0
  50. package/dist/types.js +3 -0
  51. package/dist/types.js.map +1 -0
  52. package/dist/web/index.d.ts +1 -0
  53. package/dist/web/index.js +6 -0
  54. package/dist/web/index.js.map +1 -0
  55. package/dist/web/web-track-analytics/track-analytics.d.ts +13 -0
  56. package/dist/web/web-track-analytics/track-analytics.js +54 -0
  57. package/dist/web/web-track-analytics/track-analytics.js.map +1 -0
  58. package/package.json +5 -2
  59. package/tsconfig.json +1 -1
@@ -0,0 +1,2 @@
1
+ import { tAPP, tPLATFORM } from '../types';
2
+ export declare const lazyLoadTool: (platform: tPLATFORM, app: tAPP) => Promise<import("../init/types").IAnalyticsWrapper | null>;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.lazyLoadTool = void 0;
27
+ const getAnalyticsToolWrapper = async (platform) => {
28
+ try {
29
+ if (platform === 'REACT_NATIVE') {
30
+ return (await Promise.resolve().then(() => __importStar(require('./react-native-segment')))).reactNativeSegment;
31
+ }
32
+ if (platform === 'NODE' || platform === 'WEB') {
33
+ return (await Promise.resolve().then(() => __importStar(require('./web-segment')))).webSegment;
34
+ }
35
+ return null;
36
+ }
37
+ catch (e) {
38
+ console.log(e);
39
+ throw new Error(JSON.stringify(e));
40
+ }
41
+ };
42
+ const ERROR_MESSAGES = {
43
+ TOOL_INIT_FAILED_AT_LAZY_LOAD: 'TOOL_INIT_FAILED_AT_LAZY_LOAD',
44
+ };
45
+ const lazyLoadTool = async (platform, app) => {
46
+ let tool = null;
47
+ try {
48
+ const toolWrapper = await getAnalyticsToolWrapper(platform);
49
+ if (toolWrapper) {
50
+ tool = await Promise.resolve(toolWrapper(app));
51
+ }
52
+ }
53
+ catch (e) {
54
+ console.error(ERROR_MESSAGES.TOOL_INIT_FAILED_AT_LAZY_LOAD, { platform, app });
55
+ }
56
+ return tool;
57
+ };
58
+ exports.lazyLoadTool = lazyLoadTool;
59
+ //# sourceMappingURL=lazy-load-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy-load-tool.js","sourceRoot":"","sources":["../../src/analytics-tool/lazy-load-tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAM,uBAAuB,GAAG,KAAK,EAAE,QAAmB,EAAE,EAAE;IAC5D,IAAI,CAAC;QACH,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;YAChC,OAAO,CAAC,wDAAa,wBAAwB,GAAC,CAAC,CAAC,kBAAkB,CAAC;QACrE,CAAC;QACD,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC9C,OAAO,CAAC,wDAAa,eAAe,GAAC,CAAC,CAAC,UAAU,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,6BAA6B,EAAE,+BAA+B;CAC/D,CAAC;AAEK,MAAM,YAAY,GAAG,KAAK,EAAE,QAAmB,EAAE,GAAS,EAAE,EAAE;IACnE,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,WAAW,GAA+B,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACxF,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAZW,QAAA,YAAY,gBAYvB"}
@@ -0,0 +1,2 @@
1
+ import { tToolWraperFunction } from './types';
2
+ export declare const reactNativeSegment: tToolWraperFunction;
@@ -0,0 +1,43 @@
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 types_1 = require("../init/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, 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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-native-segment.js","sourceRoot":"","sources":["../../src/analytics-tool/react-native-segment.ts"],"names":[],"mappings":";;;AAAA,4EAA+D;AAC/D,yDAAsD;AAGtD,yCAAwE;AAExE,iEAA4D;AAErD,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,mBAAW,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"}
@@ -0,0 +1,3 @@
1
+ import { IAnalyticsWrapper } from '../init/types';
2
+ import { tAPP } from '../types';
3
+ export type tToolWraperFunction = (APP: tAPP) => IAnalyticsWrapper;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/analytics-tool/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { tAPP } from '../../types';
2
+ export declare const SEGMENT_KEY_NOT_FOUND = "SEGMENT_KEY_NOT_FOUND";
3
+ export declare const getSegmentKey: (APP: tAPP) => string;
@@ -0,0 +1,19 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ import { DeactivableLoggerType } from '@segment/analytics-react-native';
2
+ export declare const rnSegmentLogger: DeactivableLoggerType;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rnSegmentLogger = void 0;
4
+ exports.rnSegmentLogger = {
5
+ info: (...params) => {
6
+ console.log('TEST INFO', JSON.stringify(params));
7
+ },
8
+ warn: (...params) => {
9
+ console.log('TEST Warn', JSON.stringify(params));
10
+ },
11
+ error: (...params) => {
12
+ console.log('TEST INFO', JSON.stringify(params));
13
+ },
14
+ enable: () => { },
15
+ disable: () => { },
16
+ };
17
+ //# sourceMappingURL=rn-segment-logger.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ import { tToolWraperFunction } from './types';
2
+ export declare const webSegment: tToolWraperFunction;
@@ -0,0 +1,25 @@
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 types_1 = require("../init/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, 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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-segment.js","sourceRoot":"","sources":["../../src/analytics-tool/web-segment.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,4DAA2D;AAG3D,yCAA4C;AAErC,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,mBAAW,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"}
@@ -0,0 +1,4 @@
1
+ export declare const ERROR_MESSAGE: {
2
+ ANALYTICS_INIT_FAILED: string;
3
+ ANALYTICS_CALLED_BEFORE_INIT: string;
4
+ };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ERROR_MESSAGE = void 0;
4
+ exports.ERROR_MESSAGE = {
5
+ ANALYTICS_INIT_FAILED: 'ANALYTICS_INIT_FAILED',
6
+ ANALYTICS_CALLED_BEFORE_INIT: 'ANALYTICS_CALLED_BEFORE_INIT',
7
+ };
8
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IAC3B,qBAAqB,EAAE,uBAAuB;IAC9C,4BAA4B,EAAE,8BAA8B;CAC7D,CAAC"}
@@ -0,0 +1,31 @@
1
+ export declare enum EVENT_NAMES {
2
+ ADD_TO_CART = "ADD_TO_CART",
3
+ TEST_LIB_EVENT_TRACK = "TEST_LIB_EVENT_TRACK"
4
+ }
5
+ export interface ProductCartEventData {
6
+ value: number;
7
+ valueCurrencyCode: string;
8
+ vendor: string;
9
+ productCategoryL2: Array<string>;
10
+ productCategoryL1: Array<string>;
11
+ productGenderCategory: Array<string>;
12
+ productType: string;
13
+ price: number;
14
+ priceCurrencyCode: string;
15
+ brand: Array<string>;
16
+ collectionName: Array<string>;
17
+ quantity: number;
18
+ productId: string;
19
+ url: string;
20
+ failureReason: string;
21
+ productName: string;
22
+ grade: string;
23
+ }
24
+ export interface TestEventProps {
25
+ value1: string;
26
+ value2: string;
27
+ }
28
+ export interface EVENT_MAP {
29
+ [EVENT_NAMES.ADD_TO_CART]: ProductCartEventData;
30
+ [EVENT_NAMES.TEST_LIB_EVENT_TRACK]: TestEventProps;
31
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EVENT_NAMES = void 0;
4
+ var EVENT_NAMES;
5
+ (function (EVENT_NAMES) {
6
+ EVENT_NAMES["ADD_TO_CART"] = "ADD_TO_CART";
7
+ EVENT_NAMES["TEST_LIB_EVENT_TRACK"] = "TEST_LIB_EVENT_TRACK";
8
+ })(EVENT_NAMES || (exports.EVENT_NAMES = EVENT_NAMES = {}));
9
+ //# sourceMappingURL=event-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-map.js","sourceRoot":"","sources":["../../src/event-map/event-map.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,0CAA2B,CAAA;IAC3B,4DAA6C,CAAA;AAC/C,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB"}
@@ -0,0 +1 @@
1
+ export { TrackAnalytics } from './track-analytics/track-analytics';
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackAnalytics = void 0;
4
+ var track_analytics_1 = require("./track-analytics/track-analytics");
5
+ Object.defineProperty(exports, "TrackAnalytics", { enumerable: true, get: function () { return track_analytics_1.TrackAnalytics; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qEAAmE;AAA1D,iHAAA,cAAc,OAAA"}
@@ -0,0 +1,2 @@
1
+ import { trackAnalyticsInit } from './types';
2
+ export declare const init: trackAnalyticsInit;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.init = void 0;
4
+ const lazy_load_tool_1 = require("../analytics-tool/lazy-load-tool");
5
+ const failedAnalyticsReurn = {
6
+ track: () => Promise.resolve(),
7
+ identify: () => Promise.resolve(),
8
+ screen: () => Promise.resolve(),
9
+ type: 'FAILED_INIT',
10
+ };
11
+ const init = async (params) => {
12
+ console.log(params);
13
+ try {
14
+ const analyticsWrapper = await (0, lazy_load_tool_1.lazyLoadTool)(params.platform, params.App);
15
+ if (!analyticsWrapper) {
16
+ console.log('ANALYTICS_WRAPPER_NULL');
17
+ }
18
+ return analyticsWrapper || failedAnalyticsReurn;
19
+ }
20
+ catch (e) {
21
+ console.log('MAIN_INIT_FAILED', JSON.stringify(e));
22
+ return failedAnalyticsReurn;
23
+ }
24
+ };
25
+ exports.init = init;
26
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init/init.ts"],"names":[],"mappings":";;;AAAA,qEAAgE;AAGhE,MAAM,oBAAoB,GAAsB;IAC9C,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;IAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;IAC/B,IAAI,EAAE,aAAa;CACpB,CAAC;AAEK,MAAM,IAAI,GAAuB,KAAK,EAAE,MAAM,EAAE,EAAE;IACvD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAGpB,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,IAAA,6BAAY,EAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACzE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,gBAAgB,IAAI,oBAAoB,CAAC;IAClD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC;AAdW,QAAA,IAAI,QAcf"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const init_1 = require("./init");
4
+ describe('init', () => {
5
+ test('it returns object of type AnalyticsWrapper', async () => {
6
+ expect.assertions(3);
7
+ const output = await (0, init_1.init)({
8
+ platform: 'REACT_NATIVE',
9
+ App: 'CONSUMER_WEB',
10
+ segment: true,
11
+ pixel: true,
12
+ });
13
+ expect(output).toHaveProperty('track');
14
+ expect(output).toHaveProperty('identify');
15
+ expect(output).toHaveProperty('screen');
16
+ });
17
+ });
18
+ //# sourceMappingURL=init.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.test.js","sourceRoot":"","sources":["../../src/init/init.test.ts"],"names":[],"mappings":";;AAAA,iCAA8B;AAE9B,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,IAAA,WAAI,EAAC;YACxB,QAAQ,EAAE,cAAc;YACxB,GAAG,EAAE,cAAc;YACnB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { SegmentClient } from '@segment/analytics-react-native';
2
+ import { EVENT_MAP, EVENT_NAMES } from '../event-map/event-map';
3
+ import { IAnalyticsInit, tPLATFORM } from '../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 };
@@ -0,0 +1,8 @@
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=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/init/types.ts"],"names":[],"mappings":";;;AA6CO,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"}
@@ -0,0 +1 @@
1
+ export { TrackAnalytics } from './rn-track-analytics/track-analytics';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackAnalytics = void 0;
4
+ var track_analytics_1 = require("./rn-track-analytics/track-analytics");
5
+ Object.defineProperty(exports, "TrackAnalytics", { enumerable: true, get: function () { return track_analytics_1.TrackAnalytics; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react-native/index.ts"],"names":[],"mappings":";;;AAAA,wEAAsE;AAA7D,iHAAA,cAAc,OAAA"}
@@ -0,0 +1,15 @@
1
+ import { SegmentClient } from '@segment/analytics-react-native';
2
+ import { IRNScreenParams, tIdentify, tTrack } from '../../init/types';
3
+ import { IAnalyticsInit } from '../../types';
4
+ declare class TrackAnalytics {
5
+ private initParams;
6
+ private analyticsWrapper;
7
+ reactNativeSegmentClient?: SegmentClient;
8
+ constructor(params: IAnalyticsInit);
9
+ initAnalytics: () => void;
10
+ private checkInitDone;
11
+ track: tTrack;
12
+ identify: tIdentify;
13
+ screen: (params: IRNScreenParams) => void;
14
+ }
15
+ export { TrackAnalytics };
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackAnalytics = void 0;
4
+ const react_native_segment_1 = require("../../analytics-tool/react-native-segment");
5
+ const types_1 = require("../../init/types");
6
+ const constants_1 = require("../../constants");
7
+ class TrackAnalytics {
8
+ constructor(params) {
9
+ this.analyticsWrapper = null;
10
+ this.initAnalytics = () => {
11
+ try {
12
+ this.analyticsWrapper = (0, react_native_segment_1.reactNativeSegment)(this.initParams.App);
13
+ this.reactNativeSegmentClient = this.analyticsWrapper.segmentClient;
14
+ }
15
+ catch (e) {
16
+ throw new Error(constants_1.ERROR_MESSAGE.ANALYTICS_INIT_FAILED);
17
+ }
18
+ };
19
+ this.track = async (type, params) => {
20
+ var _a;
21
+ if (this.checkInitDone()) {
22
+ return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.track(type, params));
23
+ }
24
+ };
25
+ this.identify = async (id, traits) => {
26
+ var _a;
27
+ if (this.checkInitDone()) {
28
+ return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.identify(id, traits));
29
+ }
30
+ };
31
+ this.screen = (params) => {
32
+ var _a, _b;
33
+ if (this.checkInitDone()) {
34
+ if ((0, types_1.isScreenWeb)(params, 'REACT_NATIVE')) {
35
+ (_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.screen(params);
36
+ }
37
+ else {
38
+ (_b = this.analyticsWrapper) === null || _b === void 0 ? void 0 : _b.screen(params);
39
+ }
40
+ }
41
+ };
42
+ this.initParams = params;
43
+ }
44
+ checkInitDone() {
45
+ if (this.analyticsWrapper) {
46
+ return true;
47
+ }
48
+ else {
49
+ console.error(constants_1.ERROR_MESSAGE.ANALYTICS_CALLED_BEFORE_INIT);
50
+ return false;
51
+ }
52
+ }
53
+ }
54
+ exports.TrackAnalytics = TrackAnalytics;
55
+ //# sourceMappingURL=track-analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-analytics.js","sourceRoot":"","sources":["../../../src/react-native/rn-track-analytics/track-analytics.ts"],"names":[],"mappings":";;;AACA,oFAA+E;AAC/E,4CAAsG;AAEtG,+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,GAAG,CAAC,MAAuB,EAAE,EAAE;;YACnC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,IAAI,IAAA,mBAAW,EAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;oBACxC,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAzCA,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;CAuBF;AAEQ,wCAAc"}
@@ -0,0 +1 @@
1
+ export { AnalyticsProvider, useAnalytics } from '@segment/analytics-react-native';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useAnalytics = exports.AnalyticsProvider = void 0;
4
+ var analytics_react_native_1 = require("@segment/analytics-react-native");
5
+ Object.defineProperty(exports, "AnalyticsProvider", { enumerable: true, get: function () { return analytics_react_native_1.AnalyticsProvider; } });
6
+ Object.defineProperty(exports, "useAnalytics", { enumerable: true, get: function () { return analytics_react_native_1.useAnalytics; } });
7
+ //# sourceMappingURL=segment-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segment-utils.js","sourceRoot":"","sources":["../src/segment-utils.ts"],"names":[],"mappings":";;;AAAA,0EAAkF;AAAzE,2HAAA,iBAAiB,OAAA;AAAE,sHAAA,YAAY,OAAA"}
@@ -0,0 +1,15 @@
1
+ import { IAnalyticsInit } from '../types';
2
+ import { IRNScreenParams, IWebScreenParams, tIdentify, tTrack } from '../init/types';
3
+ import { type SegmentClient } from '@segment/analytics-react-native';
4
+ declare class TrackAnalytics {
5
+ private initParams;
6
+ private analyticsWrapper;
7
+ reactNativeSegmentClient?: SegmentClient;
8
+ constructor(params: IAnalyticsInit);
9
+ initAnalytics: () => Promise<void>;
10
+ private checkInitDone;
11
+ track: tTrack;
12
+ identify: tIdentify;
13
+ screen: (params: IWebScreenParams | IRNScreenParams) => void;
14
+ }
15
+ export { TrackAnalytics };
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackAnalytics = void 0;
4
+ const constants_1 = require("../constants");
5
+ const types_1 = require("../init/types");
6
+ const init_1 = require("../init/init");
7
+ class TrackAnalytics {
8
+ constructor(params) {
9
+ this.analyticsWrapper = null;
10
+ this.initAnalytics = async () => {
11
+ try {
12
+ this.analyticsWrapper = await (0, init_1.init)(this.initParams);
13
+ if (this.initParams.platform === 'REACT_NATIVE') {
14
+ this.reactNativeSegmentClient = this.analyticsWrapper.segmentClient;
15
+ }
16
+ }
17
+ catch (e) {
18
+ throw new Error(constants_1.ERROR_MESSAGE.ANALYTICS_INIT_FAILED);
19
+ }
20
+ };
21
+ this.track = async (type, params) => {
22
+ var _a;
23
+ if (this.checkInitDone()) {
24
+ return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.track(type, params));
25
+ }
26
+ };
27
+ this.identify = async (id, traits) => {
28
+ var _a;
29
+ if (this.checkInitDone()) {
30
+ return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.identify(id, traits));
31
+ }
32
+ };
33
+ this.screen = (params) => {
34
+ var _a, _b;
35
+ if (this.checkInitDone()) {
36
+ if ((0, types_1.isScreenWeb)(params, this.initParams.platform)) {
37
+ (_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.screen(params);
38
+ }
39
+ else {
40
+ (_b = this.analyticsWrapper) === null || _b === void 0 ? void 0 : _b.screen(params);
41
+ }
42
+ }
43
+ };
44
+ this.initParams = params;
45
+ }
46
+ checkInitDone() {
47
+ if (this.analyticsWrapper) {
48
+ return true;
49
+ }
50
+ else {
51
+ console.error(constants_1.ERROR_MESSAGE.ANALYTICS_CALLED_BEFORE_INIT);
52
+ return false;
53
+ }
54
+ }
55
+ }
56
+ exports.TrackAnalytics = TrackAnalytics;
57
+ //# sourceMappingURL=track-analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-analytics.js","sourceRoot":"","sources":["../../src/track-analytics/track-analytics.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAE7C,yCAAqH;AACrH,uCAAoC;AAGpC,MAAM,cAAc;IAKlB,YAAY,MAAsB;QAH1B,qBAAgB,GAA6B,IAAI,CAAC;QAO1D,kBAAa,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC;gBACH,IAAI,CAAC,gBAAgB,GAAG,MAAM,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;oBAChD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;gBACtE,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,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,GAAG,CAAC,MAA0C,EAAE,EAAE;;YACtD,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,IAAI,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClD,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QA3CA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;IAaO,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"}
@@ -0,0 +1,8 @@
1
+ export type tPLATFORM = 'REACT_NATIVE' | 'WEB' | 'NODE';
2
+ export type tAPP = 'VENDOR_APP' | 'CONSUMER_APP' | 'CONSUMER_WEB';
3
+ export interface IAnalyticsInit {
4
+ platform: tPLATFORM;
5
+ App: tAPP;
6
+ segment: boolean;
7
+ pixel: boolean;
8
+ }
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export { TrackAnalytics } from './web-track-analytics/track-analytics';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackAnalytics = void 0;
4
+ var track_analytics_1 = require("./web-track-analytics/track-analytics");
5
+ Object.defineProperty(exports, "TrackAnalytics", { enumerable: true, get: function () { return track_analytics_1.TrackAnalytics; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":";;;AAAA,yEAAuE;AAA9D,iHAAA,cAAc,OAAA"}
@@ -0,0 +1,13 @@
1
+ import { IWebScreenParams, tIdentify, tTrack } from '../../init/types';
2
+ import { IAnalyticsInit } from '../../types';
3
+ declare class TrackAnalytics {
4
+ private initParams;
5
+ private analyticsWrapper;
6
+ constructor(params: IAnalyticsInit);
7
+ initAnalytics: () => Promise<void>;
8
+ private checkInitDone;
9
+ track: tTrack;
10
+ identify: tIdentify;
11
+ screen: (params: IWebScreenParams) => void;
12
+ }
13
+ export { TrackAnalytics };
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackAnalytics = void 0;
4
+ const web_segment_1 = require("../../analytics-tool/web-segment");
5
+ const constants_1 = require("../../constants");
6
+ const types_1 = require("../../init/types");
7
+ class TrackAnalytics {
8
+ constructor(params) {
9
+ this.analyticsWrapper = null;
10
+ this.initAnalytics = async () => {
11
+ try {
12
+ this.analyticsWrapper = (0, web_segment_1.webSegment)(this.initParams.App);
13
+ }
14
+ catch (e) {
15
+ throw new Error(constants_1.ERROR_MESSAGE.ANALYTICS_INIT_FAILED);
16
+ }
17
+ };
18
+ this.track = async (type, params) => {
19
+ var _a;
20
+ if (this.checkInitDone()) {
21
+ return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.track(type, params));
22
+ }
23
+ };
24
+ this.identify = async (id, traits) => {
25
+ var _a;
26
+ if (this.checkInitDone()) {
27
+ return await ((_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.identify(id, traits));
28
+ }
29
+ };
30
+ this.screen = (params) => {
31
+ var _a, _b;
32
+ if (this.checkInitDone()) {
33
+ if ((0, types_1.isScreenWeb)(params, 'WEB')) {
34
+ (_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.screen(params);
35
+ }
36
+ else {
37
+ (_b = this.analyticsWrapper) === null || _b === void 0 ? void 0 : _b.screen(params);
38
+ }
39
+ }
40
+ };
41
+ this.initParams = params;
42
+ }
43
+ checkInitDone() {
44
+ if (this.analyticsWrapper) {
45
+ return true;
46
+ }
47
+ else {
48
+ console.error(constants_1.ERROR_MESSAGE.ANALYTICS_CALLED_BEFORE_INIT);
49
+ return false;
50
+ }
51
+ }
52
+ }
53
+ exports.TrackAnalytics = TrackAnalytics;
54
+ //# sourceMappingURL=track-analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-analytics.js","sourceRoot":"","sources":["../../../src/web/web-track-analytics/track-analytics.ts"],"names":[],"mappings":";;;AAAA,kEAA8D;AAC9D,+CAAgD;AAChD,4CAAuG;AAGvG,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,GAAG,CAAC,MAAwB,EAAE,EAAE;;YACpC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,IAAI,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC/B,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxC,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"}
package/package.json CHANGED
@@ -1,11 +1,14 @@
1
1
  {
2
2
  "name": "fleek-track-analytics",
3
- "version": "0.0.55",
3
+ "version": "0.0.57",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "exports": {
7
7
  ".": "./dist/index.js",
8
- "./react-native": "./dist/react-native/index.js",
8
+ "./react-native": {
9
+ "default": "./dist/react-native/index.js",
10
+ "types": "./dist/react-native/index.d.ts"
11
+ },
9
12
  "./dist/web": "./dist/web/index.js",
10
13
  "./dist": "./dist"
11
14
  },
package/tsconfig.json CHANGED
@@ -25,7 +25,7 @@
25
25
  "experimentalDecorators": true,
26
26
  "resolveJsonModule": true,
27
27
  "baseUrl": "./",
28
- "rootDir": ".",
28
+ "rootDir": "src",
29
29
  "paths": {
30
30
  "src/*": ["./src/*"]
31
31
  }