@sima-land/isomorph 9.0.7 → 10.0.0
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/browser/analytics/data-layer.d.ts +5 -0
- package/browser/analytics/data-layer.js +16 -0
- package/browser/analytics/data-layer.js.map +1 -0
- package/{helpers/analytics/index.d.ts → browser/analytics/oko.d.ts} +1 -6
- package/{helpers/analytics/index.js → browser/analytics/oko.js} +6 -14
- package/browser/analytics/oko.js.map +1 -0
- package/package.json +8 -12
- package/src/browser/analytics/data-layer.ts +12 -0
- package/src/{helpers/analytics/index.ts → browser/analytics/oko.ts} +4 -11
- package/helpers/analytics/index.js.map +0 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dataLayerPush = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
5
|
+
/**
|
|
6
|
+
* Отправка аналитики в око.
|
|
7
|
+
* @param eventData Данные события для отправки.
|
|
8
|
+
*/
|
|
9
|
+
const dataLayerPush = (eventData) => {
|
|
10
|
+
var _a;
|
|
11
|
+
const win = window;
|
|
12
|
+
// копируем объект так как window.dataLayer.push может менять аргумент в процессе работы
|
|
13
|
+
lodash_1.isFunction((_a = win.dataLayer) === null || _a === void 0 ? void 0 : _a.push) && win.dataLayer.push(Object.assign({}, eventData));
|
|
14
|
+
};
|
|
15
|
+
exports.dataLayerPush = dataLayerPush;
|
|
16
|
+
//# sourceMappingURL=data-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-layer.js","sourceRoot":"","sources":["../../../src/browser/analytics/data-layer.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEpC;;;GAGG;AACI,MAAM,aAAa,GAAG,CAAC,SAA8B,EAAE,EAAE;;IAC9D,MAAM,GAAG,GAAQ,MAAM,CAAC;IAExB,wFAAwF;IACxF,mBAAU,CAAC,MAAA,GAAG,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,mBAAM,SAAS,EAAG,CAAC;AAC1E,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB"}
|
|
@@ -4,14 +4,9 @@ export declare type OkoEvent = Record<string, any>;
|
|
|
4
4
|
* @param eventData Данные события для отправки.
|
|
5
5
|
*/
|
|
6
6
|
export declare const okoPush: (eventData: OkoEvent) => void;
|
|
7
|
-
/**
|
|
8
|
-
* Эффект для отправки события в ОКО.
|
|
9
|
-
* @param data Данные события для отправки в ОКО.
|
|
10
|
-
*/
|
|
11
|
-
export declare function sendAnalytics(data: OkoEvent): Generator<import("redux-saga/effects").CallEffect<void>, void, unknown>;
|
|
12
7
|
/**
|
|
13
8
|
* Хук, возвращающий функцию, которая отправит аналитику в ОКО.
|
|
14
9
|
* @param data Данные события для отправки в ОКО.
|
|
15
10
|
* @return Функция.
|
|
16
11
|
*/
|
|
17
|
-
export declare const
|
|
12
|
+
export declare const useOkoPush: (data: OkoEvent) => () => void;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.useOkoPush = exports.okoPush = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
|
-
const effects_1 = require("redux-saga/effects");
|
|
6
5
|
const lodash_1 = require("lodash");
|
|
7
6
|
/**
|
|
8
7
|
* Отправка аналитики в око.
|
|
@@ -10,24 +9,17 @@ const lodash_1 = require("lodash");
|
|
|
10
9
|
*/
|
|
11
10
|
const okoPush = (eventData) => {
|
|
12
11
|
var _a;
|
|
12
|
+
const win = window;
|
|
13
13
|
// копируем объект так как window.oko.push меняет свой аргумент в процессе выполнения
|
|
14
|
-
lodash_1.isFunction((_a =
|
|
14
|
+
lodash_1.isFunction((_a = win.oko) === null || _a === void 0 ? void 0 : _a.push) && win.oko.push(Object.assign({}, eventData));
|
|
15
15
|
};
|
|
16
16
|
exports.okoPush = okoPush;
|
|
17
|
-
/**
|
|
18
|
-
* Эффект для отправки события в ОКО.
|
|
19
|
-
* @param data Данные события для отправки в ОКО.
|
|
20
|
-
*/
|
|
21
|
-
function* sendAnalytics(data) {
|
|
22
|
-
yield effects_1.call(exports.okoPush, data);
|
|
23
|
-
}
|
|
24
|
-
exports.sendAnalytics = sendAnalytics;
|
|
25
17
|
/**
|
|
26
18
|
* Хук, возвращающий функцию, которая отправит аналитику в ОКО.
|
|
27
19
|
* @param data Данные события для отправки в ОКО.
|
|
28
20
|
* @return Функция.
|
|
29
21
|
*/
|
|
30
|
-
const
|
|
22
|
+
const useOkoPush = (data) => {
|
|
31
23
|
const dataRef = react_1.useRef();
|
|
32
24
|
const fnRef = react_1.useRef();
|
|
33
25
|
if (!dataRef.current) {
|
|
@@ -44,5 +36,5 @@ const useAnalytics = (data) => {
|
|
|
44
36
|
}
|
|
45
37
|
return fnRef.current;
|
|
46
38
|
};
|
|
47
|
-
exports.
|
|
48
|
-
//# sourceMappingURL=
|
|
39
|
+
exports.useOkoPush = useOkoPush;
|
|
40
|
+
//# sourceMappingURL=oko.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oko.js","sourceRoot":"","sources":["../../../src/browser/analytics/oko.ts"],"names":[],"mappings":";;;AAAA,iCAA+B;AAC/B,mCAA6C;AAI7C;;;GAGG;AACI,MAAM,OAAO,GAAG,CAAC,SAAmB,EAAE,EAAE;;IAC7C,MAAM,GAAG,GAAQ,MAAM,CAAC;IAExB,qFAAqF;IACrF,mBAAU,CAAC,MAAA,GAAG,CAAC,GAAG,0CAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,mBAAM,SAAS,EAAG,CAAC;AAC9D,CAAC,CAAC;AALW,QAAA,OAAO,WAKlB;AAEF;;;;GAIG;AACI,MAAM,UAAU,GAAG,CAAC,IAAc,EAAE,EAAE;IAC3C,MAAM,OAAO,GAAG,cAAM,EAAY,CAAC;IACnC,MAAM,KAAK,GAAG,cAAM,EAAc,CAAC;IAEnC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,OAAO,qBAAQ,IAAI,CAAE,CAAC;KAC/B;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAClB,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,eAAO,CAAC,OAAO,CAAC,OAAmB,CAAC,CAAC;KAC5D;IAED,IAAI,CAAC,gBAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;QACnC,MAAM,KAAK,CAAC;YACV,gDAAgD;YAChD,wFAAwF;SACzF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACf;IAED,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC;AApBW,QAAA,UAAU,cAoBrB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sima-land/isomorph",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.0",
|
|
4
4
|
"description": "Set of utils that are not directly related to UI",
|
|
5
5
|
"repository": "ssh://git@github.com:sima-land/isomorph.git",
|
|
6
6
|
"author": "www.sima-land.ru team",
|
|
@@ -14,15 +14,14 @@
|
|
|
14
14
|
"build:before": "rimraf build",
|
|
15
15
|
"build:main": "tsc --project tsconfig.build.json",
|
|
16
16
|
"build:after": "node ./dist.js",
|
|
17
|
-
"build": "
|
|
17
|
+
"build": "npm run build:before && npm run build:main && npm run build:after",
|
|
18
18
|
"type-check": "tsc -p . --noEmit",
|
|
19
|
-
"dev": "cd ./examples/hello-world/ && yarn && yarn dev",
|
|
20
19
|
"lint": "eslint --cache ./src --ext .js,.jsx,.ts,.tsx",
|
|
21
20
|
"test": "jest",
|
|
22
21
|
"coverage": "jest --clearCache && jest --coverage"
|
|
23
22
|
},
|
|
24
23
|
"dependencies": {
|
|
25
|
-
"axios": "0.
|
|
24
|
+
"axios": "^0.21.1",
|
|
26
25
|
"express-http-proxy": "^1.5.1",
|
|
27
26
|
"ioredis": "^4.10.0",
|
|
28
27
|
"jaeger-client": "^3.15.0",
|
|
@@ -40,7 +39,7 @@
|
|
|
40
39
|
"@sentry/browser": "^5.15.5",
|
|
41
40
|
"@sentry/node": "5.10.2",
|
|
42
41
|
"@sima-land/linters": "^1.0.12",
|
|
43
|
-
"@
|
|
42
|
+
"@testing-library/react": "^12.1.3",
|
|
44
43
|
"@types/express": "^4.17.13",
|
|
45
44
|
"@types/jaeger-client": "^3.18.2",
|
|
46
45
|
"@types/jest": "^27.0.3",
|
|
@@ -55,16 +54,13 @@
|
|
|
55
54
|
"babel-jest": "^27.4.5",
|
|
56
55
|
"copyfiles": "^2.4.1",
|
|
57
56
|
"dotenv": "^8.2.0",
|
|
58
|
-
"enzyme": "3.8.x",
|
|
59
|
-
"enzyme-adapter-react-16": "^1.15.6",
|
|
60
|
-
"enzyme-to-json": "3.3.x",
|
|
61
57
|
"husky": "^7.0.1",
|
|
62
58
|
"identity-obj-proxy": "3.0.x",
|
|
63
59
|
"jest": "^27.4.5",
|
|
64
60
|
"lint-staged": "^11.1.1",
|
|
65
61
|
"lodash": "^4.17.21",
|
|
66
|
-
"react": "^
|
|
67
|
-
"react-dom": "^
|
|
62
|
+
"react": "^17.0.2",
|
|
63
|
+
"react-dom": "^17.0.2",
|
|
68
64
|
"react-redux": "^7.1.3",
|
|
69
65
|
"redux": "^4.0.5",
|
|
70
66
|
"redux-saga": "^1.1.3",
|
|
@@ -76,8 +72,8 @@
|
|
|
76
72
|
},
|
|
77
73
|
"peerDependencies": {
|
|
78
74
|
"lodash": "^4.17.21",
|
|
79
|
-
"react": "^16.12.0",
|
|
80
|
-
"react-dom": "^16.12.0",
|
|
75
|
+
"react": "^16.12.0 || ^17.0.2",
|
|
76
|
+
"react-dom": "^16.12.0 || ^17.0.2",
|
|
81
77
|
"react-redux": "^7.1.3",
|
|
82
78
|
"redux": "^4.0.5",
|
|
83
79
|
"redux-saga": "^1.1.3",
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { isFunction } from 'lodash';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Отправка аналитики в око.
|
|
5
|
+
* @param eventData Данные события для отправки.
|
|
6
|
+
*/
|
|
7
|
+
export const dataLayerPush = (eventData: Record<string, any>) => {
|
|
8
|
+
const win: any = window;
|
|
9
|
+
|
|
10
|
+
// копируем объект так как window.dataLayer.push может менять аргумент в процессе работы
|
|
11
|
+
isFunction(win.dataLayer?.push) && win.dataLayer.push({ ...eventData });
|
|
12
|
+
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { useRef } from 'react';
|
|
2
|
-
import { call } from 'redux-saga/effects';
|
|
3
2
|
import { isEqual, isFunction } from 'lodash';
|
|
4
3
|
|
|
5
4
|
export type OkoEvent = Record<string, any>;
|
|
@@ -9,24 +8,18 @@ export type OkoEvent = Record<string, any>;
|
|
|
9
8
|
* @param eventData Данные события для отправки.
|
|
10
9
|
*/
|
|
11
10
|
export const okoPush = (eventData: OkoEvent) => {
|
|
11
|
+
const win: any = window;
|
|
12
|
+
|
|
12
13
|
// копируем объект так как window.oko.push меняет свой аргумент в процессе выполнения
|
|
13
|
-
isFunction(
|
|
14
|
+
isFunction(win.oko?.push) && win.oko.push({ ...eventData });
|
|
14
15
|
};
|
|
15
16
|
|
|
16
|
-
/**
|
|
17
|
-
* Эффект для отправки события в ОКО.
|
|
18
|
-
* @param data Данные события для отправки в ОКО.
|
|
19
|
-
*/
|
|
20
|
-
export function * sendAnalytics (data: OkoEvent) {
|
|
21
|
-
yield call(okoPush, data);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
17
|
/**
|
|
25
18
|
* Хук, возвращающий функцию, которая отправит аналитику в ОКО.
|
|
26
19
|
* @param data Данные события для отправки в ОКО.
|
|
27
20
|
* @return Функция.
|
|
28
21
|
*/
|
|
29
|
-
export const
|
|
22
|
+
export const useOkoPush = (data: OkoEvent) => {
|
|
30
23
|
const dataRef = useRef<OkoEvent>();
|
|
31
24
|
const fnRef = useRef<() => void>();
|
|
32
25
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/analytics/index.ts"],"names":[],"mappings":";;;AAAA,iCAA+B;AAC/B,gDAA0C;AAC1C,mCAA6C;AAI7C;;;GAGG;AACI,MAAM,OAAO,GAAG,CAAC,SAAmB,EAAE,EAAE;;IAC7C,qFAAqF;IACrF,mBAAU,CAAC,MAAC,MAAc,CAAC,GAAG,0CAAE,IAAI,CAAC,IAAK,MAAc,CAAC,GAAG,CAAC,IAAI,mBAAM,SAAS,EAAG,CAAC;AACtF,CAAC,CAAC;AAHW,QAAA,OAAO,WAGlB;AAEF;;;GAGG;AACH,QAAgB,CAAC,CAAC,aAAa,CAAE,IAAc;IAC7C,MAAM,cAAI,CAAC,eAAO,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC;AAFD,sCAEC;AAED;;;;GAIG;AACI,MAAM,YAAY,GAAG,CAAC,IAAc,EAAE,EAAE;IAC7C,MAAM,OAAO,GAAG,cAAM,EAAY,CAAC;IACnC,MAAM,KAAK,GAAG,cAAM,EAAc,CAAC;IAEnC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,OAAO,qBAAQ,IAAI,CAAE,CAAC;KAC/B;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAClB,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,eAAO,CAAC,OAAO,CAAC,OAAmB,CAAC,CAAC;KAC5D;IAED,IAAI,CAAC,gBAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;QACnC,MAAM,KAAK,CAAC;YACV,gDAAgD;YAChD,wFAAwF;SACzF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACf;IAED,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC;AApBW,QAAA,YAAY,gBAoBvB"}
|