@driveflux/web-analytics 1.1.2 → 1.1.5

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
@@ -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
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@driveflux/web-analytics",
3
- "version": "1.1.2",
3
+ "version": "1.1.5",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./track": {
@@ -16,16 +16,16 @@
16
16
  "lodash": "^4.17.21"
17
17
  },
18
18
  "devDependencies": {
19
- "@driveflux/fab": "2.1.1",
19
+ "@driveflux/fab": "2.1.2",
20
20
  "@driveflux/tsconfig": "1.1.2",
21
21
  "@swc/cli": "^0.4.0",
22
- "@swc/core": "1.7.0",
22
+ "@swc/core": "1.7.2",
23
23
  "@types/lodash": "^4.17.7",
24
- "@types/node": "^20.14.11",
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
29
  },
30
30
  "peerDependencies": {
31
31
  "react": "^18.3.1"