@driveflux/web-analytics 1.1.0 → 1.1.4

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/track.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  declare global {
2
2
  interface Window {
3
- fluxDataLayer?: Object[];
3
+ fluxDataLayer?: object[];
4
4
  }
5
5
  }
6
6
  type ClearMode = 'clearItems';
@@ -25,6 +25,7 @@ interface UserLikeData {
25
25
  } | null;
26
26
  }
27
27
  export declare function getGA4ClientId(): string | null;
28
+ export declare const safeSendGTMEvent: (event: Record<string, any>) => Promise<void>;
28
29
  export declare const useTrackEvent: () => {
29
30
  track: (eventName: string, eventData?: Record<string, any>, clearMode?: ClearMode) => void;
30
31
  setUserData: (dataInput: UserLikeData) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"AAIA,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KACxB;CACD;AAED,KAAK,SAAS,GAAG,YAAY,CAAA;AAE7B,UAAU,OAAO;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,YAAY;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;QACrB,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;KACxB,GAAG,IAAI,CAAA;CACR;AA4BD,wBAAgB,cAAc,kBAc7B;AAgDD,eAAO,MAAM,aAAa;uBAKZ,MAAM,cACL,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,cACnB,SAAS;6BA4B2B,YAAY;CAkC9D,CAAA;AAED,eAAO,MAAM,iBAAiB,cAClB,MAAM,cACL,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SAmC/B,CAAA"}
1
+ {"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"AAIA,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KACxB;CACD;AAED,KAAK,SAAS,GAAG,YAAY,CAAA;AAE7B,UAAU,OAAO;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,YAAY;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;QACrB,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;KACxB,GAAG,IAAI,CAAA;CACR;AA6BD,wBAAgB,cAAc,kBAc7B;AAuCD,eAAO,MAAM,gBAAgB,UAAiB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,kBAOhE,CAAA;AAED,eAAO,MAAM,aAAa;uBAKZ,MAAM,cACL,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,cACnB,SAAS;6BA4B2B,YAAY;CAkC9D,CAAA;AAED,eAAO,MAAM,iBAAiB,cAClB,MAAM,cACL,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SAmC/B,CAAA"}
package/dist/track.js CHANGED
@@ -180,12 +180,30 @@ import isEqual from 'lodash/isEqual.js';
180
180
  import { useCallback, useEffect, useRef } from 'react';
181
181
  //dataLayer.push({ items: undefined })
182
182
  var eventsQueue = new Set();
183
+ var TIMEOUT_TO_CLEAR_EVENTS = 500;
183
184
  var drainEvents = function() {
184
185
  var events = _to_consumable_array(eventsQueue);
185
186
  eventsQueue.clear();
186
- events.forEach(function(event) {
187
- sendGTMEvent(event);
188
- });
187
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
188
+ try {
189
+ for(var _iterator = events[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
190
+ var event = _step.value;
191
+ sendGTMEvent(event);
192
+ }
193
+ } catch (err) {
194
+ _didIteratorError = true;
195
+ _iteratorError = err;
196
+ } finally{
197
+ try {
198
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
199
+ _iterator.return();
200
+ }
201
+ } finally{
202
+ if (_didIteratorError) {
203
+ throw _iteratorError;
204
+ }
205
+ }
206
+ }
189
207
  };
190
208
  export function getGA4ClientId() {
191
209
  if (typeof document === 'undefined') {
@@ -337,7 +355,7 @@ var convertUserData = function() {
337
355
  return _ref.apply(this, arguments);
338
356
  };
339
357
  }();
340
- var safeSendGTMEvent = function() {
358
+ export var safeSendGTMEvent = function() {
341
359
  var _ref = _async_to_generator(function(event) {
342
360
  return _ts_generator(this, function(_state) {
343
361
  if (!window.fluxDataLayer) {
@@ -404,7 +422,7 @@ export var useTrackEvent = function() {
404
422
  drainEvents();
405
423
  clearInterval(interval);
406
424
  }
407
- }, 100);
425
+ }, TIMEOUT_TO_CLEAR_EVENTS);
408
426
  return function() {
409
427
  return clearInterval(interval);
410
428
  };
@@ -433,7 +451,7 @@ export var useAutoTrackEvent = function(eventName, eventData) {
433
451
  drainEvents();
434
452
  clearInterval(interval);
435
453
  }
436
- }, 100);
454
+ }, TIMEOUT_TO_CLEAR_EVENTS);
437
455
  return function() {
438
456
  return clearInterval(interval);
439
457
  };
@@ -450,6 +468,7 @@ export var useAutoTrackEvent = function(eventName, eventData) {
450
468
  safeSendGTMEvent(event);
451
469
  previousEventData.current = eventData;
452
470
  }, [
453
- eventData
471
+ eventData,
472
+ eventName
454
473
  ]);
455
474
  };
package/package.json CHANGED
@@ -1,35 +1,35 @@
1
1
  {
2
2
  "name": "@driveflux/web-analytics",
3
- "version": "1.1.0",
3
+ "version": "1.1.4",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./track": {
7
- "import": "./dist/track.js",
8
- "types": "./dist/track.d.ts"
7
+ "types": "./dist/track.d.ts",
8
+ "import": "./dist/track.js"
9
9
  }
10
10
  },
11
+ "files": [
12
+ "dist"
13
+ ],
11
14
  "dependencies": {
12
15
  "@next/third-parties": "^14.2.5",
13
16
  "lodash": "^4.17.21"
14
17
  },
15
- "peerDependencies": {
16
- "react": "^18.3.1"
17
- },
18
18
  "devDependencies": {
19
- "@driveflux/fab": "2.1.0",
20
- "@driveflux/tsconfig": "1.1.0",
19
+ "@driveflux/fab": "2.1.2",
20
+ "@driveflux/tsconfig": "1.1.2",
21
21
  "@swc/cli": "^0.4.0",
22
- "@swc/core": "1.6.13",
23
- "@types/lodash": "^4.17.6",
24
- "@types/node": "^20.14.10",
22
+ "@swc/core": "1.7.0",
23
+ "@types/lodash": "^4.17.7",
24
+ "@types/node": "^20.14.12",
25
25
  "@types/react": "^18.3.3",
26
26
  "del-cli": "^5.1.0",
27
27
  "react": "^18.3.1",
28
- "typescript": "^5.5.3"
28
+ "typescript": "^5.5.4"
29
+ },
30
+ "peerDependencies": {
31
+ "react": "^18.3.1"
29
32
  },
30
- "files": [
31
- "dist"
32
- ],
33
33
  "scripts": {
34
34
  "build": "fab",
35
35
  "clean": "fab clean",
@@ -1,3 +0,0 @@
1
- {
2
- "type": "commonjs"
3
- }