@formo/analytics 1.13.4 → 1.14.1

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.
Files changed (115) hide show
  1. package/.github/workflows/ci.yml +51 -0
  2. package/CONTRIBUTING.md +1 -1
  3. package/dist/cjs/src/FormoAnalytics.d.ts +4 -3
  4. package/dist/cjs/src/FormoAnalytics.d.ts.map +1 -1
  5. package/dist/cjs/src/FormoAnalytics.js +82 -79
  6. package/dist/cjs/src/FormoAnalytics.js.map +1 -1
  7. package/dist/cjs/src/FormoAnalyticsEventQueue.d.ts +35 -0
  8. package/dist/cjs/src/FormoAnalyticsEventQueue.d.ts.map +1 -0
  9. package/dist/cjs/src/FormoAnalyticsEventQueue.js +272 -0
  10. package/dist/cjs/src/FormoAnalyticsEventQueue.js.map +1 -0
  11. package/dist/cjs/src/FormoAnalyticsProvider.d.ts +4 -5
  12. package/dist/cjs/src/FormoAnalyticsProvider.d.ts.map +1 -1
  13. package/dist/cjs/src/FormoAnalyticsProvider.js +37 -60
  14. package/dist/cjs/src/FormoAnalyticsProvider.js.map +1 -1
  15. package/dist/cjs/src/constants/base.d.ts +3 -0
  16. package/dist/cjs/src/constants/base.d.ts.map +1 -0
  17. package/dist/cjs/src/constants/base.js +6 -0
  18. package/dist/cjs/src/constants/base.js.map +1 -0
  19. package/dist/cjs/src/constants/config.d.ts +1 -1
  20. package/dist/cjs/src/constants/config.js +58 -58
  21. package/dist/cjs/src/constants/config.js.map +1 -1
  22. package/dist/cjs/src/constants/index.d.ts +4 -2
  23. package/dist/cjs/src/constants/index.d.ts.map +1 -1
  24. package/dist/cjs/src/constants/index.js +2 -0
  25. package/dist/cjs/src/constants/index.js.map +1 -1
  26. package/dist/cjs/src/constants/regex.d.ts +4 -0
  27. package/dist/cjs/src/constants/regex.d.ts.map +1 -0
  28. package/dist/cjs/src/constants/regex.js +7 -0
  29. package/dist/cjs/src/constants/regex.js.map +1 -0
  30. package/dist/cjs/src/lib/index.d.ts +3 -0
  31. package/dist/cjs/src/lib/index.d.ts.map +1 -0
  32. package/dist/cjs/src/lib/index.js +24 -0
  33. package/dist/cjs/src/lib/index.js.map +1 -0
  34. package/dist/cjs/src/lib/session-storage.d.ts +11 -0
  35. package/dist/cjs/src/lib/session-storage.d.ts.map +1 -0
  36. package/dist/cjs/src/lib/session-storage.js +52 -0
  37. package/dist/cjs/src/lib/session-storage.js.map +1 -0
  38. package/dist/cjs/src/lib/utils.d.ts +2 -0
  39. package/dist/cjs/src/lib/utils.d.ts.map +1 -1
  40. package/dist/cjs/src/lib/utils.js +8 -0
  41. package/dist/cjs/src/lib/utils.js.map +1 -1
  42. package/dist/cjs/src/types/base.d.ts +6 -0
  43. package/dist/cjs/src/types/base.d.ts.map +1 -1
  44. package/dist/cjs/src/types/events.d.ts +7 -0
  45. package/dist/cjs/src/types/events.d.ts.map +1 -1
  46. package/dist/cjs/src/types/events.js.map +1 -1
  47. package/dist/cjs/test/lib.spec.js +11 -3
  48. package/dist/cjs/test/lib.spec.js.map +1 -1
  49. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  50. package/dist/esm/src/FormoAnalytics.d.ts +4 -3
  51. package/dist/esm/src/FormoAnalytics.d.ts.map +1 -1
  52. package/dist/esm/src/FormoAnalytics.js +81 -75
  53. package/dist/esm/src/FormoAnalytics.js.map +1 -1
  54. package/dist/esm/src/FormoAnalyticsEventQueue.d.ts +35 -0
  55. package/dist/esm/src/FormoAnalyticsEventQueue.d.ts.map +1 -0
  56. package/dist/esm/src/FormoAnalyticsEventQueue.js +266 -0
  57. package/dist/esm/src/FormoAnalyticsEventQueue.js.map +1 -0
  58. package/dist/esm/src/FormoAnalyticsProvider.d.ts +4 -5
  59. package/dist/esm/src/FormoAnalyticsProvider.d.ts.map +1 -1
  60. package/dist/esm/src/FormoAnalyticsProvider.js +38 -61
  61. package/dist/esm/src/FormoAnalyticsProvider.js.map +1 -1
  62. package/dist/esm/src/constants/base.d.ts +3 -0
  63. package/dist/esm/src/constants/base.d.ts.map +1 -0
  64. package/dist/esm/src/constants/base.js +3 -0
  65. package/dist/esm/src/constants/base.js.map +1 -0
  66. package/dist/esm/src/constants/config.d.ts +1 -1
  67. package/dist/esm/src/constants/config.js +58 -58
  68. package/dist/esm/src/constants/config.js.map +1 -1
  69. package/dist/esm/src/constants/index.d.ts +4 -2
  70. package/dist/esm/src/constants/index.d.ts.map +1 -1
  71. package/dist/esm/src/constants/index.js +4 -2
  72. package/dist/esm/src/constants/index.js.map +1 -1
  73. package/dist/esm/src/constants/regex.d.ts +4 -0
  74. package/dist/esm/src/constants/regex.d.ts.map +1 -0
  75. package/dist/esm/src/constants/regex.js +4 -0
  76. package/dist/esm/src/constants/regex.js.map +1 -0
  77. package/dist/esm/src/lib/index.d.ts +3 -0
  78. package/dist/esm/src/lib/index.d.ts.map +1 -0
  79. package/dist/esm/src/lib/index.js +3 -0
  80. package/dist/esm/src/lib/index.js.map +1 -0
  81. package/dist/esm/src/lib/session-storage.d.ts +11 -0
  82. package/dist/esm/src/lib/session-storage.d.ts.map +1 -0
  83. package/dist/esm/src/lib/session-storage.js +49 -0
  84. package/dist/esm/src/lib/session-storage.js.map +1 -0
  85. package/dist/esm/src/lib/utils.d.ts +2 -0
  86. package/dist/esm/src/lib/utils.d.ts.map +1 -1
  87. package/dist/esm/src/lib/utils.js +5 -0
  88. package/dist/esm/src/lib/utils.js.map +1 -1
  89. package/dist/esm/src/types/base.d.ts +6 -0
  90. package/dist/esm/src/types/base.d.ts.map +1 -1
  91. package/dist/esm/src/types/events.d.ts +7 -0
  92. package/dist/esm/src/types/events.d.ts.map +1 -1
  93. package/dist/esm/src/types/events.js.map +1 -1
  94. package/dist/esm/test/lib.spec.js +9 -1
  95. package/dist/esm/test/lib.spec.js.map +1 -1
  96. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  97. package/dist/index.umd.min.js +1 -1
  98. package/dist/index.umd.min.js.LICENSE.txt +0 -12
  99. package/dist/index.umd.min.js.map +1 -1
  100. package/package.json +7 -6
  101. package/src/FormoAnalytics.ts +83 -63
  102. package/src/FormoAnalyticsEventQueue.ts +282 -0
  103. package/src/FormoAnalyticsProvider.tsx +29 -64
  104. package/src/constants/base.ts +2 -0
  105. package/src/constants/config.ts +58 -58
  106. package/src/constants/index.ts +4 -2
  107. package/src/constants/regex.ts +3 -0
  108. package/src/lib/index.ts +2 -0
  109. package/src/lib/session-storage.ts +53 -0
  110. package/src/lib/utils.ts +9 -0
  111. package/src/types/base.ts +10 -3
  112. package/src/types/events.ts +15 -7
  113. package/test/lib.spec.ts +13 -1
  114. package/dist/387.index.umd.min.js +0 -125
  115. package/dist/387.index.umd.min.js.map +0 -1
@@ -0,0 +1,272 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.FormoAnalyticsEventQueue = void 0;
54
+ var fetch_retry_1 = __importDefault(require("fetch-retry"));
55
+ var is_network_error_1 = __importDefault(require("is-network-error"));
56
+ var fingerprintjs_1 = __importDefault(require("@fingerprintjs/fingerprintjs"));
57
+ var sdkFetch = (0, fetch_retry_1.default)(global.fetch);
58
+ var noop = function () { };
59
+ var DEFAULT_RETRY = 3;
60
+ var MAX_RETRY = 5;
61
+ var MIN_RETRY = 1;
62
+ var DEFAULT_FLUSH_AT = 20;
63
+ var MAX_FLUSH_AT = 20;
64
+ var MIN_FLUSH_AT = 1;
65
+ var DEFAULT_QUEUE_SIZE = 1024 * 500; // 500kB
66
+ var MAX_QUEUE_SIZE = 1024 * 500; // 500kB
67
+ var MIN_QUEUE_SIZE = 200; // 200 bytes
68
+ var DEFAULT_FLUSH_INTERVAL = 1000 * 60; // 1 MINUTE
69
+ var MAX_FLUSH_INTERVAL = 1000 * 300; // 5 MINUTES
70
+ var MIN_FLUSH_INTERVAL = 1000 * 10; // 10 SECONDS
71
+ var FormoAnalyticsEventQueue = /** @class */ (function () {
72
+ function FormoAnalyticsEventQueue(writeKey, options) {
73
+ var _this = this;
74
+ options = options || {};
75
+ this.queue = [];
76
+ this.writeKey = writeKey;
77
+ this.url = options.url;
78
+ this.retryCount = this.getFormattedNumericParams(options.retryCount || DEFAULT_RETRY, MAX_RETRY, MIN_RETRY);
79
+ this.flushAt = this.getFormattedNumericParams(options.flushAt || DEFAULT_FLUSH_AT, MAX_FLUSH_AT, MIN_FLUSH_AT);
80
+ this.maxQueueSize = this.getFormattedNumericParams(options.maxQueueSize || DEFAULT_QUEUE_SIZE, MAX_QUEUE_SIZE, MIN_QUEUE_SIZE);
81
+ this.flushInterval = this.getFormattedNumericParams(options.flushInterval || DEFAULT_FLUSH_INTERVAL, MAX_FLUSH_INTERVAL, MIN_FLUSH_INTERVAL);
82
+ this.flushed = true;
83
+ this.errorHandler = options.errorHandler;
84
+ this.pendingFlush = null;
85
+ this.timer = null;
86
+ // flush before page close
87
+ window.addEventListener("beforeunload", function (e) { return __awaiter(_this, void 0, void 0, function () {
88
+ return __generator(this, function (_a) {
89
+ switch (_a.label) {
90
+ case 0:
91
+ e.stopImmediatePropagation();
92
+ return [4 /*yield*/, this.flush()];
93
+ case 1:
94
+ _a.sent();
95
+ return [2 /*return*/];
96
+ }
97
+ });
98
+ }); });
99
+ }
100
+ //#region Public functions
101
+ FormoAnalyticsEventQueue.prototype.enqueue = function (message, callback) {
102
+ callback = callback || noop;
103
+ // check if the message already exists
104
+ if (this.checkDuplicate(message)) {
105
+ console.warn("Event already enqueued, try again after ".concat(this.millisecondsToSecond(this.flushInterval), " seconds."));
106
+ return;
107
+ }
108
+ this.queue.push({ message: message, callback: callback });
109
+ console.log("Event enqueued: ".concat(this.getActionDescriptor(message.action, message.payload)));
110
+ if (!this.flushed) {
111
+ this.flushed = true;
112
+ this.flush();
113
+ return;
114
+ }
115
+ var hasReachedFlushAt = this.queue.length >= this.flushAt;
116
+ var hasReachedQueueSize = this.queue.reduce(function (acc, item) { return acc + JSON.stringify(item).length; }, 0) >=
117
+ this.maxQueueSize;
118
+ if (hasReachedFlushAt || hasReachedQueueSize) {
119
+ this.flush();
120
+ return;
121
+ }
122
+ if (this.flushInterval && !this.timer) {
123
+ this.timer = setTimeout(this.flush.bind(this), this.flushInterval);
124
+ }
125
+ };
126
+ FormoAnalyticsEventQueue.prototype.flush = function (callback) {
127
+ return __awaiter(this, void 0, void 0, function () {
128
+ var err_1, items, data, done, req, _a;
129
+ var _b, _c;
130
+ var _this = this;
131
+ return __generator(this, function (_d) {
132
+ switch (_d.label) {
133
+ case 0:
134
+ callback = callback || noop;
135
+ if (this.timer) {
136
+ clearTimeout(this.timer);
137
+ this.timer = null;
138
+ }
139
+ if (!this.queue.length) {
140
+ callback();
141
+ return [2 /*return*/, Promise.resolve()];
142
+ }
143
+ _d.label = 1;
144
+ case 1:
145
+ _d.trys.push([1, 4, , 5]);
146
+ if (!this.pendingFlush) return [3 /*break*/, 3];
147
+ return [4 /*yield*/, this.pendingFlush];
148
+ case 2:
149
+ _d.sent();
150
+ _d.label = 3;
151
+ case 3: return [3 /*break*/, 5];
152
+ case 4:
153
+ err_1 = _d.sent();
154
+ this.pendingFlush = null;
155
+ throw err_1;
156
+ case 5:
157
+ items = this.queue.splice(0, this.flushAt);
158
+ data = items.map(function (item) { return item.message; });
159
+ done = function (err) {
160
+ items.forEach(function (_a) {
161
+ var message = _a.message, callback = _a.callback;
162
+ return callback(err, message, data);
163
+ });
164
+ callback(err, data);
165
+ };
166
+ _b = {};
167
+ _c = {
168
+ "Content-Type": "application/json",
169
+ Authorization: "Basic ".concat(this.writeKey)
170
+ };
171
+ _a = "X-Visitor-Id";
172
+ return [4 /*yield*/, this.getVisitorId()];
173
+ case 6:
174
+ req = (_b.headers = (_c[_a] = _d.sent(),
175
+ _c),
176
+ _b);
177
+ return [2 /*return*/, (this.pendingFlush = sdkFetch("".concat(this.url), __assign({ method: "POST", body: JSON.stringify(data), retries: this.retryCount, retryDelay: function (attempt) { return Math.pow(2, attempt) * 1000; }, retryOn: function (_, error) { return _this.isErrorRetryable(error); } }, req))
178
+ .then(function () {
179
+ done();
180
+ return Promise.resolve(data);
181
+ })
182
+ .catch(function (err) {
183
+ if (typeof _this.errorHandler === "function") {
184
+ done(err);
185
+ return _this.errorHandler(err);
186
+ }
187
+ if (err.response) {
188
+ var error = new Error(err.response.statusText);
189
+ done(error);
190
+ throw error;
191
+ }
192
+ done(err);
193
+ throw err;
194
+ }))];
195
+ }
196
+ });
197
+ });
198
+ };
199
+ //#endregion
200
+ //#region Utility functions
201
+ FormoAnalyticsEventQueue.prototype.getVisitorId = function () {
202
+ return __awaiter(this, void 0, void 0, function () {
203
+ var fp, visitorId;
204
+ return __generator(this, function (_a) {
205
+ switch (_a.label) {
206
+ case 0: return [4 /*yield*/, fingerprintjs_1.default.load()];
207
+ case 1:
208
+ fp = _a.sent();
209
+ return [4 /*yield*/, fp.get()];
210
+ case 2:
211
+ visitorId = (_a.sent()).visitorId;
212
+ return [2 /*return*/, visitorId];
213
+ }
214
+ });
215
+ });
216
+ };
217
+ FormoAnalyticsEventQueue.prototype.isErrorRetryable = function (error) {
218
+ var _a, _b, _c;
219
+ // Retry Network Errors.
220
+ if ((0, is_network_error_1.default)(error))
221
+ return true;
222
+ // Cannot determine if the request can be retried
223
+ if (!(error === null || error === void 0 ? void 0 : error.response))
224
+ return false;
225
+ // Retry Server Errors (5xx).
226
+ if (((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.status) >= 500 && ((_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.status) <= 599)
227
+ return true;
228
+ // Retry if rate limited.
229
+ if (((_c = error === null || error === void 0 ? void 0 : error.response) === null || _c === void 0 ? void 0 : _c.status) === 429)
230
+ return true;
231
+ return false;
232
+ };
233
+ FormoAnalyticsEventQueue.prototype.millisecondsToSecond = function (milliseconds) {
234
+ return Math.ceil(milliseconds / 1000);
235
+ };
236
+ FormoAnalyticsEventQueue.prototype.toDateHourMinute = function (date) {
237
+ return (date.getUTCFullYear() +
238
+ "-" +
239
+ ("0" + (date.getUTCMonth() + 1)).slice(-2) +
240
+ "-" +
241
+ ("0" + date.getUTCDate()).slice(-2) +
242
+ " " +
243
+ ("0" + date.getUTCHours()).slice(-2) +
244
+ ":" +
245
+ ("0" + date.getUTCMinutes()).slice(-2));
246
+ };
247
+ FormoAnalyticsEventQueue.prototype.checkDuplicate = function (newMessage) {
248
+ var _this = this;
249
+ // check if exists a message with identical payload within 1 minute
250
+ var formattedTimestamp = this.toDateHourMinute(new Date(newMessage.timestamp));
251
+ var stringifiedMessage = JSON.stringify(__assign(__assign({}, newMessage), { timestamp: formattedTimestamp }));
252
+ return this.queue.some(function (item) {
253
+ var message = item.message;
254
+ var formattedItemTimestamp = _this.toDateHourMinute(new Date(message.timestamp));
255
+ var stringifiedItem = JSON.stringify(__assign(__assign({}, message), { timestamp: formattedItemTimestamp }));
256
+ return stringifiedItem === stringifiedMessage;
257
+ });
258
+ };
259
+ FormoAnalyticsEventQueue.prototype.getActionDescriptor = function (action, payload) {
260
+ return "".concat(action).concat((payload === null || payload === void 0 ? void 0 : payload.status) ? " ".concat(payload === null || payload === void 0 ? void 0 : payload.status) : "");
261
+ };
262
+ FormoAnalyticsEventQueue.prototype.getFormattedNumericParams = function (value, max, min) {
263
+ if (value < min)
264
+ return min;
265
+ if (value > max)
266
+ return max;
267
+ return value;
268
+ };
269
+ return FormoAnalyticsEventQueue;
270
+ }());
271
+ exports.FormoAnalyticsEventQueue = FormoAnalyticsEventQueue;
272
+ //# sourceMappingURL=FormoAnalyticsEventQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormoAnalyticsEventQueue.js","sourceRoot":"","sources":["../../../src/FormoAnalyticsEventQueue.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import React from 'react';
2
- import { FormoAnalytics } from './FormoAnalytics';
3
- import { FormoAnalyticsProviderProps } from './types';
4
- export declare const FormoAnalyticsContext: React.Context<FormoAnalytics | undefined>;
5
- export declare const FormoAnalyticsProvider: ({ apiKey, options, disabled, children, }: FormoAnalyticsProviderProps) => import("react/jsx-runtime").JSX.Element;
1
+ import { FormoAnalytics } from "./FormoAnalytics";
2
+ import { FormoAnalyticsProviderProps } from "./types";
3
+ export declare const FormoAnalyticsContext: import("react").Context<FormoAnalytics | undefined>;
4
+ export declare const FormoAnalyticsProvider: (props: FormoAnalyticsProviderProps) => string | number | boolean | Iterable<import("react").ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
6
5
  export declare const useFormoAnalytics: () => FormoAnalytics | undefined;
7
6
  //# sourceMappingURL=FormoAnalyticsProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormoAnalyticsProvider.d.ts","sourceRoot":"","sources":["../../../src/FormoAnalyticsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAMtD,eAAO,MAAM,qBAAqB,2CAEjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,6CAKhC,2BAA2B,4CAuE7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,kCAQ7B,CAAC"}
1
+ {"version":3,"file":"FormoAnalyticsProvider.d.ts","sourceRoot":"","sources":["../../../src/FormoAnalyticsProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAEtD,eAAO,MAAM,qBAAqB,qDAEjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,UAAW,2BAA2B,iIAexE,CAAC;AAsCF,eAAO,MAAM,iBAAiB,kCAQ7B,CAAC"}
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -40,60 +51,42 @@ exports.useFormoAnalytics = exports.FormoAnalyticsProvider = exports.FormoAnalyt
40
51
  var jsx_runtime_1 = require("react/jsx-runtime");
41
52
  var react_1 = require("react");
42
53
  var FormoAnalytics_1 = require("./FormoAnalytics");
43
- var react_2 = require("@highlight-run/react");
44
- var highlight_run_1 = require("highlight.run");
45
- var HIGHLIGHT_PROJECT_ID = process.env.REACT_APP_HIGHLIGHT_PROJECT_ID;
46
54
  exports.FormoAnalyticsContext = (0, react_1.createContext)(undefined);
47
- var FormoAnalyticsProvider = function (_a) {
48
- var apiKey = _a.apiKey, options = _a.options, disabled = _a.disabled, children = _a.children;
55
+ var FormoAnalyticsProvider = function (props) {
56
+ var apiKey = props.apiKey, disabled = props.disabled, children = props.children;
57
+ // Keep the app running without analytics if no API key is provided or disabled
58
+ if (!apiKey) {
59
+ console.error("FormoAnalyticsProvider: No API key provided");
60
+ return children;
61
+ }
62
+ if (disabled) {
63
+ console.warn("FormoAnalytics is disabled");
64
+ return children;
65
+ }
66
+ return (0, jsx_runtime_1.jsx)(InitializedAnalytics, __assign({}, props));
67
+ };
68
+ exports.FormoAnalyticsProvider = FormoAnalyticsProvider;
69
+ var InitializedAnalytics = function (_a) {
70
+ var apiKey = _a.apiKey, options = _a.options, children = _a.children;
49
71
  var _b = (0, react_1.useState)(), sdk = _b[0], setSdk = _b[1];
50
- var _c = (0, react_1.useState)(false), isInitialized = _c[0], setIsInitialized = _c[1];
51
72
  var initializedStartedRef = (0, react_1.useRef)(false);
52
- var initializeHighlight = function () { return __awaiter(void 0, void 0, void 0, function () {
53
- return __generator(this, function (_a) {
54
- if (HIGHLIGHT_PROJECT_ID) {
55
- try {
56
- highlight_run_1.H.init(HIGHLIGHT_PROJECT_ID, {
57
- serviceName: 'formo-analytics-sdk',
58
- tracingOrigins: true,
59
- networkRecording: {
60
- enabled: true,
61
- recordHeadersAndBody: true,
62
- urlBlocklist: [
63
- 'https://www.googleapis.com/identitytoolkit',
64
- 'https://securetoken.googleapis.com',
65
- ],
66
- },
67
- });
68
- console.log('Highlight.run initialized successfully');
69
- }
70
- catch (error) {
71
- console.error('Failed to initialize Highlight.run', error);
72
- }
73
- }
74
- return [2 /*return*/];
75
- });
76
- }); };
77
73
  var initializeFormoAnalytics = function (apiKey, options) { return __awaiter(void 0, void 0, void 0, function () {
78
74
  var sdkInstance, error_1;
79
75
  return __generator(this, function (_a) {
80
76
  switch (_a.label) {
81
77
  case 0:
82
- _a.trys.push([0, 2, 3, 4]);
78
+ _a.trys.push([0, 2, , 3]);
83
79
  return [4 /*yield*/, FormoAnalytics_1.FormoAnalytics.init(apiKey, options)];
84
80
  case 1:
85
81
  sdkInstance = _a.sent();
86
82
  setSdk(sdkInstance);
87
- console.log('FormoAnalytics SDK initialized successfully');
88
- return [3 /*break*/, 4];
83
+ console.log("FormoAnalytics SDK initialized successfully");
84
+ return [3 /*break*/, 3];
89
85
  case 2:
90
86
  error_1 = _a.sent();
91
- console.error('Failed to initialize FormoAnalytics SDK', error_1);
92
- return [3 /*break*/, 4];
93
- case 3:
94
- setIsInitialized(true); // Ensure UI renders even after failure
95
- return [7 /*endfinally*/];
96
- case 4: return [2 /*return*/];
87
+ console.error("Failed to initialize FormoAnalytics SDK", error_1);
88
+ return [3 /*break*/, 3];
89
+ case 3: return [2 /*return*/];
97
90
  }
98
91
  });
99
92
  }); };
@@ -102,40 +95,24 @@ var FormoAnalyticsProvider = function (_a) {
102
95
  return __generator(this, function (_a) {
103
96
  switch (_a.label) {
104
97
  case 0:
105
- if (!apiKey) {
106
- console.error('FormoAnalyticsProvider: No API key provided');
107
- return [2 /*return*/];
108
- }
109
- if (disabled) {
110
- console.warn('FormoAnalytics is disabled');
111
- return [2 /*return*/];
112
- }
113
98
  if (initializedStartedRef.current)
114
99
  return [2 /*return*/];
115
100
  initializedStartedRef.current = true;
116
- return [4 /*yield*/, initializeHighlight()];
117
- case 1:
118
- _a.sent();
119
101
  return [4 /*yield*/, initializeFormoAnalytics(apiKey, options)];
120
- case 2:
102
+ case 1:
121
103
  _a.sent();
122
104
  return [2 /*return*/];
123
105
  }
124
106
  });
125
107
  }); };
126
108
  initialize();
127
- }, [apiKey, disabled, options]);
128
- if (!isInitialized) {
129
- // Optionally show a loading state until initialization attempt finishes
130
- return (0, jsx_runtime_1.jsx)("div", { children: "Loading analytics..." });
131
- }
132
- return ((0, jsx_runtime_1.jsx)(react_2.ErrorBoundary, { onError: function (error, info) { return highlight_run_1.H === null || highlight_run_1.H === void 0 ? void 0 : highlight_run_1.H.consumeError(error, info); }, children: (0, jsx_runtime_1.jsx)(exports.FormoAnalyticsContext.Provider, { value: sdk, children: children }) }));
109
+ }, [apiKey, options]);
110
+ return ((0, jsx_runtime_1.jsx)(exports.FormoAnalyticsContext.Provider, { value: sdk, children: children }));
133
111
  };
134
- exports.FormoAnalyticsProvider = FormoAnalyticsProvider;
135
112
  var useFormoAnalytics = function () {
136
113
  var context = (0, react_1.useContext)(exports.FormoAnalyticsContext);
137
114
  if (!context) {
138
- console.warn('useFormoAnalytics called without a valid context');
115
+ console.warn("useFormoAnalytics called without a valid context");
139
116
  }
140
117
  return context; // Return undefined if SDK is not initialized, handle accordingly in consumer
141
118
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FormoAnalyticsProvider.js","sourceRoot":"","sources":["../../../src/FormoAnalyticsProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormoAnalyticsProvider.js","sourceRoot":"","sources":["../../../src/FormoAnalyticsProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA+E;AAC/E,mDAAkD;AAGrC,QAAA,qBAAqB,GAAG,IAAA,qBAAa,EAChD,SAAS,CACV,CAAC;AAEK,IAAM,sBAAsB,GAAG,UAAC,KAAkC;IAC/D,IAAA,MAAM,GAAyB,KAAK,OAA9B,EAAE,QAAQ,GAAe,KAAK,SAApB,EAAE,QAAQ,GAAK,KAAK,SAAV,CAAW;IAE7C,+EAA+E;IAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC7D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC3C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,uBAAC,oBAAoB,eAAK,KAAK,EAAI,CAAC;AAC7C,CAAC,CAAC;AAfW,QAAA,sBAAsB,0BAejC;AAEF,IAAM,oBAAoB,GAAG,UAAC,EAIA;QAH5B,MAAM,YAAA,EACN,OAAO,aAAA,EACP,QAAQ,cAAA;IAEF,IAAA,KAAgB,IAAA,gBAAQ,GAA8B,EAArD,GAAG,QAAA,EAAE,MAAM,QAA0C,CAAC;IAC7D,IAAM,qBAAqB,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IAE5C,IAAM,wBAAwB,GAAG,UAAO,MAAc,EAAE,OAAY;;;;;;oBAE5C,qBAAM,+BAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAAA;;oBAAxD,WAAW,GAAG,SAA0C;oBAC9D,MAAM,CAAC,WAAW,CAAC,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;;;;oBAE3D,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,OAAK,CAAC,CAAC;;;;;SAEnE,CAAC;IAEF,IAAA,iBAAS,EAAC;QACR,IAAM,UAAU,GAAG;;;;wBACjB,IAAI,qBAAqB,CAAC,OAAO;4BAAE,sBAAO;wBAC1C,qBAAqB,CAAC,OAAO,GAAG,IAAI,CAAC;wBAErC,qBAAM,wBAAwB,CAAC,MAAO,EAAE,OAAO,CAAC,EAAA;;wBAAhD,SAAgD,CAAC;;;;aAClD,CAAC;QAEF,UAAU,EAAE,CAAC;IACf,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEtB,OAAO,CACL,uBAAC,6BAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,YACvC,QAAQ,GACsB,CAClC,CAAC;AACJ,CAAC,CAAC;AAEK,IAAM,iBAAiB,GAAG;IAC/B,IAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,6BAAqB,CAAC,CAAC;IAElD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,6EAA6E;AAC/F,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B"}
@@ -0,0 +1,3 @@
1
+ export declare const SESSION_PREFIX = "f0-";
2
+ export declare const SESSION_IDENTIFIED_KEY: string;
3
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/constants/base.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,QAAQ,CAAC;AACpC,eAAO,MAAM,sBAAsB,QAAwC,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SESSION_IDENTIFIED_KEY = exports.SESSION_PREFIX = void 0;
4
+ exports.SESSION_PREFIX = "f0-";
5
+ exports.SESSION_IDENTIFIED_KEY = exports.SESSION_PREFIX + "session_identified";
6
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/constants/base.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,KAAK,CAAC;AACvB,QAAA,sBAAsB,GAAG,sBAAc,GAAG,oBAAoB,CAAC"}
@@ -62,7 +62,7 @@ export declare const COUNTRY_LIST: {
62
62
  "America/Araguaina": string;
63
63
  "America/Argentina/Buenos_Aires": string;
64
64
  "America/Argentina/Catamarca": string;
65
- "America/Argentina/ComodRivadavi": string;
65
+ "America/Argentina/ComodRivadavia": string;
66
66
  "America/Argentina/Cordoba": string;
67
67
  "America/Argentina/Jujuy": string;
68
68
  "America/Argentina/La_Rioja": string;