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.
- package/dist/analytics-tool/lazy-load-tool.d.ts +2 -0
- package/dist/analytics-tool/lazy-load-tool.js +59 -0
- package/dist/analytics-tool/lazy-load-tool.js.map +1 -0
- package/dist/analytics-tool/react-native-segment.d.ts +2 -0
- package/dist/analytics-tool/react-native-segment.js +43 -0
- package/dist/analytics-tool/react-native-segment.js.map +1 -0
- package/dist/analytics-tool/types.d.ts +3 -0
- package/dist/analytics-tool/types.js +3 -0
- package/dist/analytics-tool/types.js.map +1 -0
- package/dist/analytics-tool/utils/getSegmentKey.d.ts +3 -0
- package/dist/analytics-tool/utils/getSegmentKey.js +19 -0
- package/dist/analytics-tool/utils/getSegmentKey.js.map +1 -0
- package/dist/analytics-tool/utils/rn-segment-logger.d.ts +2 -0
- package/dist/analytics-tool/utils/rn-segment-logger.js +17 -0
- package/dist/analytics-tool/utils/rn-segment-logger.js.map +1 -0
- package/dist/analytics-tool/web-segment.d.ts +2 -0
- package/dist/analytics-tool/web-segment.js +25 -0
- package/dist/analytics-tool/web-segment.js.map +1 -0
- package/dist/constants.d.ts +4 -0
- package/dist/constants.js +8 -0
- package/dist/constants.js.map +1 -0
- package/dist/event-map/event-map.d.ts +31 -0
- package/dist/event-map/event-map.js +9 -0
- package/dist/event-map/event-map.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/init/init.d.ts +2 -0
- package/dist/init/init.js +26 -0
- package/dist/init/init.js.map +1 -0
- package/dist/init/init.test.d.ts +1 -0
- package/dist/init/init.test.js +18 -0
- package/dist/init/init.test.js.map +1 -0
- package/dist/init/types.d.ts +35 -0
- package/dist/init/types.js +8 -0
- package/dist/init/types.js.map +1 -0
- package/dist/react-native/index.d.ts +1 -0
- package/dist/react-native/index.js +6 -0
- package/dist/react-native/index.js.map +1 -0
- package/dist/react-native/rn-track-analytics/track-analytics.d.ts +15 -0
- package/dist/react-native/rn-track-analytics/track-analytics.js +55 -0
- package/dist/react-native/rn-track-analytics/track-analytics.js.map +1 -0
- package/dist/segment-utils.d.ts +1 -0
- package/dist/segment-utils.js +7 -0
- package/dist/segment-utils.js.map +1 -0
- package/dist/track-analytics/track-analytics.d.ts +15 -0
- package/dist/track-analytics/track-analytics.js +57 -0
- package/dist/track-analytics/track-analytics.js.map +1 -0
- package/dist/types.d.ts +8 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/web/index.d.ts +1 -0
- package/dist/web/index.js +6 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/web-track-analytics/track-analytics.d.ts +13 -0
- package/dist/web/web-track-analytics/track-analytics.js +54 -0
- package/dist/web/web-track-analytics/track-analytics.js.map +1 -0
- package/package.json +5 -2
- package/tsconfig.json +1 -1
|
@@ -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,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 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/analytics-tool/types.ts"],"names":[],"mappings":""}
|
|
@@ -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,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,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,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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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,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"}
|
package/dist/types.d.ts
ADDED
package/dist/types.js
ADDED
|
@@ -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.
|
|
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":
|
|
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
|
},
|