fleek-track-analytics 0.0.8 → 0.0.9
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 +32 -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 +7 -0
- package/dist/analytics-tool/utils/getSegmentKey.js.map +1 -0
- package/dist/analytics-tool/web-segment.d.ts +2 -0
- package/dist/analytics-tool/web-segment.js +23 -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 +25 -0
- package/dist/event-map/event-map.js +8 -0
- package/dist/event-map/event-map.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +56 -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 +32 -0
- package/dist/init/types.js +8 -0
- package/dist/init/types.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/package.json +1 -1
- package/tsconfig.json +2 -2
|
@@ -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,32 @@
|
|
|
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 reactNativeSegment = (APP) => {
|
|
8
|
+
const segmentKey = (0, getSegmentKey_1.getSegmentKey)(APP);
|
|
9
|
+
const client = (0, analytics_react_native_1.createClient)({
|
|
10
|
+
writeKey: segmentKey,
|
|
11
|
+
trackAppLifecycleEvents: true,
|
|
12
|
+
});
|
|
13
|
+
const { track, screen, identify } = client;
|
|
14
|
+
const trackWrapper = (eventName, eventParams) => {
|
|
15
|
+
const data = eventParams;
|
|
16
|
+
track(eventName, data);
|
|
17
|
+
};
|
|
18
|
+
return {
|
|
19
|
+
track: trackWrapper,
|
|
20
|
+
screen: (params) => {
|
|
21
|
+
if (!(0, types_1.isScreenWeb)(params, 'REACT_NATIVE')) {
|
|
22
|
+
screen(params.name, params.properties);
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
identify,
|
|
26
|
+
type: 'RN_SEGMENT',
|
|
27
|
+
segmentClient: client,
|
|
28
|
+
AnalyticsProvider: analytics_react_native_1.AnalyticsProvider,
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
exports.reactNativeSegment = reactNativeSegment;
|
|
32
|
+
//# 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,4EAAkF;AAClF,yDAAsD;AAGtD,yCAAoD;AAE7C,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;KAC9B,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE3C,MAAM,YAAY,GAAW,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE;QAEtD,MAAM,IAAI,GAAG,WAA2C,CAAC;QAEzD,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,CAAC,IAAA,mBAAW,EAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,QAAQ;QACR,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,MAAM;QACrB,iBAAiB,EAAE,0CAAiB;KACrC,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,kBAAkB,sBA4B7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/analytics-tool/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SEGMENT_KEY_NOT_FOUND = exports.getSegmentKey = void 0;
|
|
4
|
+
const getSegmentKey = (APP) => process.env[`SEGMENT_PROJECT_KEY_${APP}`] || exports.SEGMENT_KEY_NOT_FOUND;
|
|
5
|
+
exports.getSegmentKey = getSegmentKey;
|
|
6
|
+
exports.SEGMENT_KEY_NOT_FOUND = 'SEGMENT_KEY_NOT_FOUND';
|
|
7
|
+
//# sourceMappingURL=getSegmentKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSegmentKey.js","sourceRoot":"","sources":["../../../src/analytics-tool/utils/getSegmentKey.ts"],"names":[],"mappings":";;;AAEO,MAAM,aAAa,GAAG,CAAC,GAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,EAAE,CAAC,IAAI,6BAAqB,CAAC;AAAlG,QAAA,aAAa,iBAAqF;AAClG,QAAA,qBAAqB,GAAG,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
const { track, page, identify } = client;
|
|
11
|
+
return {
|
|
12
|
+
track,
|
|
13
|
+
screen: (params) => {
|
|
14
|
+
if ((0, types_1.isScreenWeb)(params, 'REACT_NATIVE')) {
|
|
15
|
+
page(params);
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
identify,
|
|
19
|
+
type: 'WEB_SEGMENT',
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
exports.webSegment = webSegment;
|
|
23
|
+
//# 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;IAC/D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEzC,OAAO;QACL,KAAK;QACL,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,IAAA,mBAAW,EAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QACD,QAAQ;QACR,IAAI,EAAE,aAAa;KACpB,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,UAAU,cAerB"}
|
|
@@ -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,25 @@
|
|
|
1
|
+
export declare enum EVENT_NAMES {
|
|
2
|
+
ADD_TO_CART = "ADD_TO_CART"
|
|
3
|
+
}
|
|
4
|
+
export interface ProductCartEventData {
|
|
5
|
+
value: number;
|
|
6
|
+
valueCurrencyCode: string;
|
|
7
|
+
vendor: string;
|
|
8
|
+
productCategoryL2: Array<string>;
|
|
9
|
+
productCategoryL1: Array<string>;
|
|
10
|
+
productGenderCategory: Array<string>;
|
|
11
|
+
productType: string;
|
|
12
|
+
price: number;
|
|
13
|
+
priceCurrencyCode: string;
|
|
14
|
+
brand: Array<string>;
|
|
15
|
+
collectionName: Array<string>;
|
|
16
|
+
quantity: number;
|
|
17
|
+
productId: string;
|
|
18
|
+
url: string;
|
|
19
|
+
failureReason: string;
|
|
20
|
+
productName: string;
|
|
21
|
+
grade: string;
|
|
22
|
+
}
|
|
23
|
+
export interface EVENT_MAP {
|
|
24
|
+
[EVENT_NAMES.ADD_TO_CART]: ProductCartEventData;
|
|
25
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
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 || (exports.EVENT_NAMES = EVENT_NAMES = {}));
|
|
8
|
+
//# 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,WAEX;AAFD,WAAY,WAAW;IACrB,0CAA2B,CAAA;AAC7B,CAAC,EAFW,WAAW,2BAAX,WAAW,QAEtB"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IAnalyticsInit } from './types';
|
|
2
|
+
import { IRNScreenParams, IWebScreenParams, tTrack } from './init/types';
|
|
3
|
+
export { init as trackAnalyticsInit } from './init/init';
|
|
4
|
+
declare class TrackAnalytics {
|
|
5
|
+
private initParams;
|
|
6
|
+
private analyticsWrapper;
|
|
7
|
+
constructor(params: IAnalyticsInit);
|
|
8
|
+
initAnalytics: () => Promise<void>;
|
|
9
|
+
private checkInitDone;
|
|
10
|
+
track: tTrack;
|
|
11
|
+
identify: () => void;
|
|
12
|
+
screen: (params: IWebScreenParams | IRNScreenParams) => void;
|
|
13
|
+
}
|
|
14
|
+
export default TrackAnalytics;
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.trackAnalyticsInit = void 0;
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
const types_1 = require("./init/types");
|
|
6
|
+
const init_1 = require("./init/init");
|
|
7
|
+
var init_2 = require("./init/init");
|
|
8
|
+
Object.defineProperty(exports, "trackAnalyticsInit", { enumerable: true, get: function () { return init_2.init; } });
|
|
9
|
+
class TrackAnalytics {
|
|
10
|
+
constructor(params) {
|
|
11
|
+
this.analyticsWrapper = null;
|
|
12
|
+
this.initAnalytics = async () => {
|
|
13
|
+
try {
|
|
14
|
+
this.analyticsWrapper = await (0, init_1.init)(this.initParams);
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
throw new Error(constants_1.ERROR_MESSAGE.ANALYTICS_INIT_FAILED);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
this.track = (type, params) => {
|
|
21
|
+
var _a;
|
|
22
|
+
if (this.checkInitDone()) {
|
|
23
|
+
(_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.track(type, params);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
this.identify = () => {
|
|
27
|
+
var _a;
|
|
28
|
+
if (this.checkInitDone()) {
|
|
29
|
+
(_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.identify();
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
this.screen = (params) => {
|
|
33
|
+
var _a, _b;
|
|
34
|
+
if (this.checkInitDone()) {
|
|
35
|
+
if ((0, types_1.isScreenWeb)(params, this.initParams.platform)) {
|
|
36
|
+
(_a = this.analyticsWrapper) === null || _a === void 0 ? void 0 : _a.screen(params);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
(_b = this.analyticsWrapper) === null || _b === void 0 ? void 0 : _b.screen(params);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
this.initParams = params;
|
|
44
|
+
}
|
|
45
|
+
checkInitDone() {
|
|
46
|
+
if (this.analyticsWrapper) {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
console.error(constants_1.ERROR_MESSAGE.ANALYTICS_CALLED_BEFORE_INIT);
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.default = TrackAnalytics;
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAE5C,wCAAyG;AACzG,sCAAmC;AAEnC,oCAAyD;AAAhD,0GAAA,IAAI,OAAsB;AAEnC,MAAM,cAAc;IAIlB,YAAY,MAAsB;QAF1B,qBAAgB,GAA6B,IAAI,CAAC;QAM1D,kBAAa,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC;gBACH,IAAI,CAAC,gBAAgB,GAAG,MAAM,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,yBAAa,CAAC,qBAAqB,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC;QAWF,UAAK,GAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;;YAC/B,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC;QAEF,aAAQ,GAAG,GAAG,EAAE;;YACd,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,QAAQ,EAAE,CAAC;YACpC,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;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;AAED,kBAAe,cAAc,CAAC"}
|
|
@@ -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: () => { },
|
|
7
|
+
identify: () => { },
|
|
8
|
+
screen: () => { },
|
|
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,GAAE,CAAC;IACf,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;IAClB,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;IAChB,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,32 @@
|
|
|
1
|
+
import { AnalyticsProvider, SegmentClient } from '@segment/analytics-react-native';
|
|
2
|
+
import { EVENT_MAP, EVENT_NAMES } from '../event-map/event-map';
|
|
3
|
+
import { IAnalyticsInit, tPLATFORM } from '../types';
|
|
4
|
+
export type tTrack = <T extends EVENT_NAMES>(eventName: T, eventParams: EVENT_MAP[T]) => void;
|
|
5
|
+
export type JsonList = Array<JsonValue>;
|
|
6
|
+
export type JsonValue = boolean | number | string | null | JsonList | JsonMap | undefined;
|
|
7
|
+
export interface JsonMap {
|
|
8
|
+
[key: string]: JsonValue;
|
|
9
|
+
[index: number]: JsonValue;
|
|
10
|
+
}
|
|
11
|
+
export interface IWebScreenParams {
|
|
12
|
+
category?: string;
|
|
13
|
+
name?: string;
|
|
14
|
+
properties?: Record<string, unknown>;
|
|
15
|
+
options?: Record<string, unknown>;
|
|
16
|
+
callback?: () => void;
|
|
17
|
+
}
|
|
18
|
+
export interface IRNScreenParams {
|
|
19
|
+
name: string;
|
|
20
|
+
properties?: JsonMap;
|
|
21
|
+
}
|
|
22
|
+
export interface IAnalyticsWrapper {
|
|
23
|
+
track: tTrack;
|
|
24
|
+
identify: () => void;
|
|
25
|
+
screen: (params: IWebScreenParams | IRNScreenParams) => void;
|
|
26
|
+
type: string;
|
|
27
|
+
segmentClient?: SegmentClient;
|
|
28
|
+
AnalyticsProvider?: typeof AnalyticsProvider;
|
|
29
|
+
}
|
|
30
|
+
export declare const isScreenWeb: (params: IWebScreenParams | IRNScreenParams, platform: tPLATFORM) => params is IWebScreenParams;
|
|
31
|
+
type tInit = (params: IAnalyticsInit) => Promise<IAnalyticsWrapper>;
|
|
32
|
+
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":";;;AAwCO,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"}
|
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":""}
|
package/package.json
CHANGED
package/tsconfig.json
CHANGED
|
@@ -25,11 +25,11 @@
|
|
|
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
|
}
|
|
32
32
|
},
|
|
33
|
-
"exclude": ["node_modules"
|
|
33
|
+
"exclude": ["node_modules"],
|
|
34
34
|
"include": ["./src/**/*.ts"]
|
|
35
35
|
}
|