akeyless-client-commons 1.0.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.
@@ -0,0 +1,592 @@
1
+ "use strict";
2
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
3
+ try {
4
+ var info = gen[key](arg);
5
+ var value = info.value;
6
+ } catch (error) {
7
+ reject(error);
8
+ return;
9
+ }
10
+ if (info.done) {
11
+ resolve(value);
12
+ } else {
13
+ Promise.resolve(value).then(_next, _throw);
14
+ }
15
+ }
16
+ function _async_to_generator(fn) {
17
+ return function() {
18
+ var self = this, args = arguments;
19
+ return new Promise(function(resolve, reject) {
20
+ var gen = fn.apply(self, args);
21
+ function _next(value) {
22
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
23
+ }
24
+ function _throw(err) {
25
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
26
+ }
27
+ _next(undefined);
28
+ });
29
+ };
30
+ }
31
+ function _define_property(obj, key, value) {
32
+ if (key in obj) {
33
+ Object.defineProperty(obj, key, {
34
+ value: value,
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true
38
+ });
39
+ } else {
40
+ obj[key] = value;
41
+ }
42
+ return obj;
43
+ }
44
+ function _object_spread(target) {
45
+ for(var i = 1; i < arguments.length; i++){
46
+ var source = arguments[i] != null ? arguments[i] : {};
47
+ var ownKeys = Object.keys(source);
48
+ if (typeof Object.getOwnPropertySymbols === "function") {
49
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
50
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
51
+ }));
52
+ }
53
+ ownKeys.forEach(function(key) {
54
+ _define_property(target, key, source[key]);
55
+ });
56
+ }
57
+ return target;
58
+ }
59
+ function ownKeys(object, enumerableOnly) {
60
+ var keys = Object.keys(object);
61
+ if (Object.getOwnPropertySymbols) {
62
+ var symbols = Object.getOwnPropertySymbols(object);
63
+ if (enumerableOnly) {
64
+ symbols = symbols.filter(function(sym) {
65
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
66
+ });
67
+ }
68
+ keys.push.apply(keys, symbols);
69
+ }
70
+ return keys;
71
+ }
72
+ function _object_spread_props(target, source) {
73
+ source = source != null ? source : {};
74
+ if (Object.getOwnPropertyDescriptors) {
75
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
76
+ } else {
77
+ ownKeys(Object(source)).forEach(function(key) {
78
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
79
+ });
80
+ }
81
+ return target;
82
+ }
83
+ function _type_of(obj) {
84
+ "@swc/helpers - typeof";
85
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
86
+ }
87
+ function _ts_generator(thisArg, body) {
88
+ var f, y, t, g, _ = {
89
+ label: 0,
90
+ sent: function() {
91
+ if (t[0] & 1) throw t[1];
92
+ return t[1];
93
+ },
94
+ trys: [],
95
+ ops: []
96
+ };
97
+ return g = {
98
+ next: verb(0),
99
+ "throw": verb(1),
100
+ "return": verb(2)
101
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
102
+ return this;
103
+ }), g;
104
+ function verb(n) {
105
+ return function(v) {
106
+ return step([
107
+ n,
108
+ v
109
+ ]);
110
+ };
111
+ }
112
+ function step(op) {
113
+ if (f) throw new TypeError("Generator is already executing.");
114
+ while(_)try {
115
+ 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;
116
+ if (y = 0, t) op = [
117
+ op[0] & 2,
118
+ t.value
119
+ ];
120
+ switch(op[0]){
121
+ case 0:
122
+ case 1:
123
+ t = op;
124
+ break;
125
+ case 4:
126
+ _.label++;
127
+ return {
128
+ value: op[1],
129
+ done: false
130
+ };
131
+ case 5:
132
+ _.label++;
133
+ y = op[1];
134
+ op = [
135
+ 0
136
+ ];
137
+ continue;
138
+ case 7:
139
+ op = _.ops.pop();
140
+ _.trys.pop();
141
+ continue;
142
+ default:
143
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
144
+ _ = 0;
145
+ continue;
146
+ }
147
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
148
+ _.label = op[1];
149
+ break;
150
+ }
151
+ if (op[0] === 6 && _.label < t[1]) {
152
+ _.label = t[1];
153
+ t = op;
154
+ break;
155
+ }
156
+ if (t && _.label < t[2]) {
157
+ _.label = t[2];
158
+ _.ops.push(op);
159
+ break;
160
+ }
161
+ if (t[2]) _.ops.pop();
162
+ _.trys.pop();
163
+ continue;
164
+ }
165
+ op = body.call(thisArg, _);
166
+ } catch (e) {
167
+ op = [
168
+ 6,
169
+ e
170
+ ];
171
+ y = 0;
172
+ } finally{
173
+ f = t = 0;
174
+ }
175
+ if (op[0] & 5) throw op[1];
176
+ return {
177
+ value: op[0] ? op[1] : void 0,
178
+ done: true
179
+ };
180
+ }
181
+ }
182
+ var __create = Object.create;
183
+ var __defProp = Object.defineProperty;
184
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
185
+ var __getOwnPropNames = Object.getOwnPropertyNames;
186
+ var __getProtoOf = Object.getPrototypeOf;
187
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
188
+ var __export = function(target, all) {
189
+ for(var name in all)__defProp(target, name, {
190
+ get: all[name],
191
+ enumerable: true
192
+ });
193
+ };
194
+ var __copyProps = function(to, from, except, desc) {
195
+ if (from && (typeof from === "undefined" ? "undefined" : _type_of(from)) === "object" || typeof from === "function") {
196
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
197
+ try {
198
+ var _loop = function() {
199
+ var key = _step.value;
200
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
201
+ get: function() {
202
+ return from[key];
203
+ },
204
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
205
+ });
206
+ };
207
+ for(var _iterator = __getOwnPropNames(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
208
+ } catch (err) {
209
+ _didIteratorError = true;
210
+ _iteratorError = err;
211
+ } finally{
212
+ try {
213
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
214
+ _iterator.return();
215
+ }
216
+ } finally{
217
+ if (_didIteratorError) {
218
+ throw _iteratorError;
219
+ }
220
+ }
221
+ }
222
+ }
223
+ return to;
224
+ };
225
+ var __toESM = function(mod, isNodeMode, target) {
226
+ return target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(// If the importer is in node compatibility mode or this is not an ESM
227
+ // file that has been converted to a CommonJS file using a Babel-
228
+ // compatible transform (i.e. "__esModule" has not been set), then set
229
+ // "default" to the CommonJS "module.exports" for node compatibility.
230
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
231
+ value: mod,
232
+ enumerable: true
233
+ }) : target, mod);
234
+ };
235
+ var __toCommonJS = function(mod) {
236
+ return __copyProps(__defProp({}, "__esModule", {
237
+ value: true
238
+ }), mod);
239
+ };
240
+ // src/hooks/index.ts
241
+ var hooks_exports = {};
242
+ __export(hooks_exports, {
243
+ useDeepCompareEffect: function() {
244
+ return useDeepCompareEffect;
245
+ },
246
+ useDeepCompareMemo: function() {
247
+ return useDeepCompareMemo;
248
+ },
249
+ useDocumentTitle: function() {
250
+ return useDocumentTitle;
251
+ },
252
+ useSafeEffect: function() {
253
+ return useSafeEffect;
254
+ },
255
+ useSetUserCountry: function() {
256
+ return useSetUserCountry;
257
+ },
258
+ useSnapshotBulk: function() {
259
+ return useSnapshotBulk;
260
+ }
261
+ });
262
+ module.exports = __toCommonJS(hooks_exports);
263
+ // src/hooks/global.ts
264
+ var import_akeyless_types_commons2 = require("akeyless-types-commons");
265
+ var import_react2 = require("react");
266
+ // src/helpers/firebase.ts
267
+ var import_moment = __toESM(require("moment"));
268
+ var import_app = require("firebase/app");
269
+ var import_storage = require("firebase/storage");
270
+ var import_auth = require("firebase/auth");
271
+ var import_firestore = require("firebase/firestore");
272
+ var import_meta = {};
273
+ var initApp = function() {
274
+ var isNodeEnv2 = typeof process !== "undefined" && process.env;
275
+ var firebaseConfig = {
276
+ apiKey: isNodeEnv2 ? process.env.NEXT_PUBLIC_API_KEY : import_meta.env.VITE_API_KEY,
277
+ authDomain: isNodeEnv2 ? process.env.NEXT_PUBLIC_AUTH_DOMAIN : import_meta.env.VITE_AUTH_DOMAIN,
278
+ projectId: isNodeEnv2 ? process.env.NEXT_PUBLIC_PROJECT_ID : import_meta.env.VITE_PROJECT_ID,
279
+ storageBucket: isNodeEnv2 ? process.env.NEXT_PUBLIC_STORAGE_BUCKET : import_meta.env.VITE_STORAGE_BUCKET,
280
+ messagingSenderId: isNodeEnv2 ? process.env.NEXT_PUBLIC_MESSAGING_SENDER_ID : import_meta.env.VITE_MESSAGING_SENDER_ID,
281
+ appId: isNodeEnv2 ? process.env.NEXT_PUBLIC_APP_ID : import_meta.env.VITE_APP_ID
282
+ };
283
+ try {
284
+ var app = (0, import_app.initializeApp)(firebaseConfig);
285
+ var auth2 = (0, import_auth.getAuth)(app);
286
+ var db2 = (0, import_firestore.getFirestore)(app);
287
+ var storage2 = (0, import_storage.getStorage)(app);
288
+ return {
289
+ db: db2,
290
+ auth: auth2,
291
+ storage: storage2
292
+ };
293
+ } catch (error) {
294
+ console.error("Failed to initialize Firebase app:", error);
295
+ return {};
296
+ }
297
+ };
298
+ var _initApp = initApp(), db = _initApp.db, auth = _initApp.auth, storage = _initApp.storage;
299
+ var collections = {
300
+ clients: (0, import_firestore.collection)(db, "nx-clients"),
301
+ sites: (0, import_firestore.collection)(db, "nx-sites"),
302
+ cars: (0, import_firestore.collection)(db, "units"),
303
+ users: (0, import_firestore.collection)(db, "nx-users"),
304
+ lastLocations: (0, import_firestore.collection)(db, "last_locations"),
305
+ ermEvents: (0, import_firestore.collection)(db, "erm_events_general"),
306
+ erm2Events: (0, import_firestore.collection)(db, "erm2_events_general"),
307
+ ruptelaEvents: (0, import_firestore.collection)(db, "ruptela_events_general"),
308
+ polygons: (0, import_firestore.collection)(db, "nx-polygons"),
309
+ polygonEvents: (0, import_firestore.collection)(db, "polygon_events"),
310
+ polygonCars: (0, import_firestore.collection)(db, "polygon_cars"),
311
+ canbus: (0, import_firestore.collection)(db, "erm_canbus_parameters"),
312
+ states: (0, import_firestore.collection)(db, "erm_states"),
313
+ app_pro_commands_queue: (0, import_firestore.collection)(db, "app_pro_commands_queue"),
314
+ trips: (0, import_firestore.collection)(db, "erm2_trip"),
315
+ tripsDetails: (0, import_firestore.collection)(db, "erm2_trip_details"),
316
+ audit: (0, import_firestore.collection)(db, "nx-audit"),
317
+ nx_settings: (0, import_firestore.collection)(db, "nx-settings"),
318
+ settings: (0, import_firestore.collection)(db, "settings"),
319
+ translations: (0, import_firestore.collection)(db, "nx-translations"),
320
+ nx_cars: (0, import_firestore.collection)(db, "nx-cars"),
321
+ boards: (0, import_firestore.collection)(db, "boards"),
322
+ protection_types: (0, import_firestore.collection)(db, "protectionTypes"),
323
+ board_types: (0, import_firestore.collection)(db, "boardTypes"),
324
+ charge_capacities: (0, import_firestore.collection)(db, "nx-charge-capacities")
325
+ };
326
+ var fire_base_TIME_TEMP = import_firestore.Timestamp.now;
327
+ var simpleExtractData = function(doc2) {
328
+ var docData = doc2.data();
329
+ return _object_spread_props(_object_spread({}, docData), {
330
+ id: doc2.id
331
+ });
332
+ };
333
+ var snapshot = function(config, snapshotsFirstTime) {
334
+ var resolvePromise;
335
+ var isResolved = false;
336
+ var promise = new Promise(function(resolve) {
337
+ console.log("==> ".concat(config.collectionName, " subscribed."));
338
+ resolvePromise = function() {
339
+ if (!isResolved) {
340
+ isResolved = true;
341
+ resolve();
342
+ }
343
+ };
344
+ });
345
+ var collectionRef = (0, import_firestore.collection)(db, config.collectionName);
346
+ if (config.conditions) {
347
+ config.conditions.forEach(function(condition) {
348
+ collectionRef = (0, import_firestore.query)(collectionRef, (0, import_firestore.where)(condition.field_name, condition.operator, condition.value));
349
+ });
350
+ }
351
+ if (config.orderBy) {
352
+ config.orderBy.forEach(function(order) {
353
+ collectionRef = (0, import_firestore.query)(collectionRef, (0, import_firestore.orderBy)(order.fieldName, order.direction));
354
+ });
355
+ }
356
+ var unsubscribe = (0, import_firestore.onSnapshot)(collectionRef, function(snapshot2) {
357
+ if (!snapshotsFirstTime.includes(config.collectionName)) {
358
+ var _config_onFirstTime, _config_extraParsers;
359
+ snapshotsFirstTime.push(config.collectionName);
360
+ var documents = snapshot2.docs.map(function(doc2) {
361
+ return simpleExtractData(doc2);
362
+ });
363
+ (_config_onFirstTime = config.onFirstTime) === null || _config_onFirstTime === void 0 ? void 0 : _config_onFirstTime.call(config, documents, config);
364
+ (_config_extraParsers = config.extraParsers) === null || _config_extraParsers === void 0 ? void 0 : _config_extraParsers.forEach(function(extraParser) {
365
+ var _extraParser_onFirstTime;
366
+ (_extraParser_onFirstTime = extraParser.onFirstTime) === null || _extraParser_onFirstTime === void 0 ? void 0 : _extraParser_onFirstTime.call(extraParser, documents, config);
367
+ });
368
+ resolvePromise();
369
+ } else {
370
+ var _config_onAdd, _config_onModify, _config_onRemove, _config_extraParsers1;
371
+ var addedDocs = [];
372
+ var modifiedDocs = [];
373
+ var removedDocs = [];
374
+ snapshot2.docChanges().forEach(function(change) {
375
+ if (change.type === "added") {
376
+ addedDocs.push(simpleExtractData(change.doc));
377
+ } else if (change.type === "modified") {
378
+ modifiedDocs.push(simpleExtractData(change.doc));
379
+ } else if (change.type === "removed") {
380
+ removedDocs.push(simpleExtractData(change.doc));
381
+ }
382
+ });
383
+ addedDocs.length && ((_config_onAdd = config.onAdd) === null || _config_onAdd === void 0 ? void 0 : _config_onAdd.call(config, addedDocs, config));
384
+ modifiedDocs.length && ((_config_onModify = config.onModify) === null || _config_onModify === void 0 ? void 0 : _config_onModify.call(config, modifiedDocs, config));
385
+ removedDocs.length && ((_config_onRemove = config.onRemove) === null || _config_onRemove === void 0 ? void 0 : _config_onRemove.call(config, removedDocs, config));
386
+ (_config_extraParsers1 = config.extraParsers) === null || _config_extraParsers1 === void 0 ? void 0 : _config_extraParsers1.forEach(function(extraParser) {
387
+ var _extraParser_onAdd, _extraParser_onModify, _extraParser_onRemove;
388
+ addedDocs.length && ((_extraParser_onAdd = extraParser.onAdd) === null || _extraParser_onAdd === void 0 ? void 0 : _extraParser_onAdd.call(extraParser, addedDocs, config));
389
+ modifiedDocs.length && ((_extraParser_onModify = extraParser.onModify) === null || _extraParser_onModify === void 0 ? void 0 : _extraParser_onModify.call(extraParser, modifiedDocs, config));
390
+ removedDocs.length && ((_extraParser_onRemove = extraParser.onRemove) === null || _extraParser_onRemove === void 0 ? void 0 : _extraParser_onRemove.call(extraParser, removedDocs, config));
391
+ });
392
+ }
393
+ }, function(error) {
394
+ console.error("Error listening to collection: ".concat(config.collectionName), error);
395
+ resolvePromise();
396
+ });
397
+ return {
398
+ promise: promise,
399
+ unsubscribe: unsubscribe
400
+ };
401
+ };
402
+ // src/helpers/global.ts
403
+ var import_akeyless_types_commons = require("akeyless-types-commons");
404
+ var import_axios = __toESM(require("axios"));
405
+ // src/helpers/phoneNumber.ts
406
+ var import_libphonenumber_js = require("libphonenumber-js");
407
+ // src/helpers/global.ts
408
+ var import_lodash = require("lodash");
409
+ var import_meta2 = {};
410
+ var getUserCountryByIp = /*#__PURE__*/ function() {
411
+ var _ref = _async_to_generator(function() {
412
+ var response, error;
413
+ return _ts_generator(this, function(_state) {
414
+ switch(_state.label){
415
+ case 0:
416
+ _state.trys.push([
417
+ 0,
418
+ 2,
419
+ ,
420
+ 3
421
+ ]);
422
+ return [
423
+ 4,
424
+ import_axios.default.get("https://ipapi.co/json/")
425
+ ];
426
+ case 1:
427
+ response = _state.sent();
428
+ return [
429
+ 2,
430
+ (response.data.country_code || import_akeyless_types_commons.CountryOptions.IL).toLowerCase()
431
+ ];
432
+ case 2:
433
+ error = _state.sent();
434
+ console.error("Error fetching Country:", error);
435
+ return [
436
+ 2,
437
+ import_akeyless_types_commons.CountryOptions.IL
438
+ ];
439
+ case 3:
440
+ return [
441
+ 2
442
+ ];
443
+ }
444
+ });
445
+ });
446
+ return function getUserCountryByIp() {
447
+ return _ref.apply(this, arguments);
448
+ };
449
+ }();
450
+ var isNodeEnv = typeof process !== "undefined" && process.env;
451
+ var _ref = {
452
+ mode: isNodeEnv ? process.env.NEXT_PUBLIC_MODE : import_meta2.env.VITE_MODE,
453
+ isLocal: (isNodeEnv ? process.env.NEXT_PUBLIC_IS_LOCAL : import_meta2.env.VITE_is_local) === "true"
454
+ }, mode = _ref.mode, isLocal = _ref.isLocal;
455
+ // src/helpers/forms.ts
456
+ var import_xregexp = __toESM(require("xregexp"));
457
+ var textRegex = (0, import_xregexp.default)("[^\\p{L}\\s-]", "gu");
458
+ var numbersRegex = (0, import_xregexp.default)("[^0-9\\s-+]", "g");
459
+ var numbersOnlyRegex = (0, import_xregexp.default)("[^0-9]", "g");
460
+ var priceRegex = (0, import_xregexp.default)("[^0-9.]", "g");
461
+ var emailRegex = (0, import_xregexp.default)("[^\\p{L}0-9.@\\s-]", "gu");
462
+ var colorRegex = (0, import_xregexp.default)("[^#0-9A-Fa-f]", "g");
463
+ var carsRegex = (0, import_xregexp.default)("[^\\p{L}0-9,_]", "gu");
464
+ var textNumbersRegex = (0, import_xregexp.default)("[^\\p{L}0-9\\s+\\-]", "gu");
465
+ var addressRegex = (0, import_xregexp.default)("[^\\p{L}0-9\\s.,+-\\-]", "gu");
466
+ var chartsRegex = (0, import_xregexp.default)("[^\\p{L}0-9\\s.,_@!+-\\-]", "gu");
467
+ // src/lib/utils.ts
468
+ var import_clsx = require("clsx");
469
+ var import_tailwind_merge = require("tailwind-merge");
470
+ // src/helpers/time_helpers.ts
471
+ var import_firestore2 = require("firebase/firestore");
472
+ var import_moment_timezone = __toESM(require("moment-timezone"));
473
+ // src/helpers/api.ts
474
+ var import_axios2 = __toESM(require("axios"));
475
+ var baseDomain = mode === "qa" ? "https://nx-api.xyz/api" : "https://nx-api.info/api";
476
+ var devicesDomain = isLocal ? "http://localhost:9001/api/devices" : baseDomain + "/devices";
477
+ var biDomain = isLocal ? "http://localhost:9002/api/bi" : baseDomain + "/bi";
478
+ var callCenterDomain = isLocal ? "http://localhost:9003/api/call-center" : baseDomain + "/call-center";
479
+ // src/hooks/react.ts
480
+ var import_lodash2 = require("lodash");
481
+ var import_react = require("react");
482
+ function useSafeEffect(callback, dependencies, error_message) {
483
+ (0, import_react.useEffect)(function() {
484
+ try {
485
+ callback();
486
+ } catch (error) {
487
+ console.error(error_message || "Error in useEffect:", error);
488
+ }
489
+ }, dependencies);
490
+ }
491
+ var useDeepCompareMemo = function(factory, dependencies) {
492
+ var previousDepsRef = (0, import_react.useRef)([]);
493
+ if (!(0, import_lodash2.isEqual)(dependencies, previousDepsRef.current)) {
494
+ previousDepsRef.current = dependencies;
495
+ }
496
+ return (0, import_react.useMemo)(factory, previousDepsRef.current);
497
+ };
498
+ function useDeepCompareEffect(effect, dependencies) {
499
+ var previousDepsRef = (0, import_react.useRef)();
500
+ if (!(0, import_lodash2.isEqual)(previousDepsRef.current, dependencies)) {
501
+ previousDepsRef.current = dependencies;
502
+ }
503
+ (0, import_react.useEffect)(effect, [
504
+ previousDepsRef.current
505
+ ]);
506
+ }
507
+ // src/hooks/global.ts
508
+ var useDocumentTitle = function(title) {
509
+ (0, import_react2.useEffect)(function() {
510
+ document.title = title;
511
+ }, [
512
+ title
513
+ ]);
514
+ return null;
515
+ };
516
+ var useSnapshotBulk = function(configs, label) {
517
+ var snapshotsFirstTime = (0, import_react2.useRef)([]);
518
+ var unsubscribeFunctions = (0, import_react2.useRef)([]);
519
+ useDeepCompareEffect(function() {
520
+ var start = performance.now();
521
+ console.log("==> ".concat(label || "Custom snapshots", " started... "));
522
+ var snapshotResults = configs.map(function(config) {
523
+ return snapshot(config, snapshotsFirstTime.current);
524
+ });
525
+ unsubscribeFunctions.current = snapshotResults.map(function(result) {
526
+ return result.unsubscribe;
527
+ });
528
+ Promise.all(snapshotResults.map(function(result) {
529
+ return result.promise;
530
+ })).then(function() {
531
+ console.log("==> ".concat(label || "Custom snapshots", " ended. It took ").concat((performance.now() - start).toFixed(2), " ms"));
532
+ });
533
+ }, [
534
+ configs,
535
+ label
536
+ ]);
537
+ (0, import_react2.useEffect)(function() {
538
+ return function() {
539
+ unsubscribeFunctions.current.forEach(function(unsubscribe) {
540
+ if (unsubscribe) {
541
+ unsubscribe();
542
+ }
543
+ });
544
+ };
545
+ }, []);
546
+ };
547
+ var useSetUserCountry = function(setUserCountry, changLang) {
548
+ (0, import_react2.useLayoutEffect)(function() {
549
+ var currentCountry = localStorage.getItem("userCountry");
550
+ if (!currentCountry) {
551
+ var updateCountry = /*#__PURE__*/ function() {
552
+ var _ref = _async_to_generator(function() {
553
+ var country;
554
+ return _ts_generator(this, function(_state) {
555
+ switch(_state.label){
556
+ case 0:
557
+ return [
558
+ 4,
559
+ getUserCountryByIp()
560
+ ];
561
+ case 1:
562
+ country = _state.sent();
563
+ changLang(country === import_akeyless_types_commons2.CountryOptions.IL ? "he" : "en");
564
+ setUserCountry(country);
565
+ localStorage.setItem("userCountry", country);
566
+ return [
567
+ 2
568
+ ];
569
+ }
570
+ });
571
+ });
572
+ return function updateCountry() {
573
+ return _ref.apply(this, arguments);
574
+ };
575
+ }();
576
+ updateCountry();
577
+ }
578
+ }, []);
579
+ return null;
580
+ };
581
+ // src/hooks/WebWorker.ts
582
+ var import_react4 = require("react");
583
+ // Annotate the CommonJS export names for ESM import in node:
584
+ 0 && (module.exports = {
585
+ useDeepCompareEffect: useDeepCompareEffect,
586
+ useDeepCompareMemo: useDeepCompareMemo,
587
+ useDocumentTitle: useDocumentTitle,
588
+ useSafeEffect: useSafeEffect,
589
+ useSetUserCountry: useSetUserCountry,
590
+ useSnapshotBulk: useSnapshotBulk
591
+ });
592
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["c:\\work\\akeyless\\commons\\client_commons\\dist\\hooks\\index.js"],"names":[],"mappings":"","sourcesContent":["var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/hooks/index.ts\nvar hooks_exports = {};\n__export(hooks_exports, {\n useDocumentTitle: () => useDocumentTitle,\n useSafeEffect: () => useSafeEffect,\n useSetUserCountry: () => useSetUserCountry,\n useSnapshotBulk: () => useSnapshotBulk\n});\nmodule.exports = __toCommonJS(hooks_exports);\n\n// src/hooks/global.ts\nvar import_akeyless_types_commons2 = require(\"akeyless-types-commons\");\nvar import_react = require(\"react\");\n\n// src/helpers/firebase.ts\nvar import_moment = __toESM(require(\"moment\"));\nvar import_app = require(\"firebase/app\");\nvar import_storage = require(\"firebase/storage\");\nvar import_auth = require(\"firebase/auth\");\nvar import_firestore = require(\"firebase/firestore\");\nvar import_meta = {};\nvar initApp = () => {\n const isNodeEnv = typeof process !== \"undefined\" && process.env;\n const firebaseConfig = {\n apiKey: isNodeEnv ? process.env.NEXT_PUBLIC_API_KEY : import_meta.env.VITE_API_KEY,\n authDomain: isNodeEnv ? process.env.NEXT_PUBLIC_AUTH_DOMAIN : import_meta.env.VITE_AUTH_DOMAIN,\n projectId: isNodeEnv ? process.env.NEXT_PUBLIC_PROJECT_ID : import_meta.env.VITE_PROJECT_ID,\n storageBucket: isNodeEnv ? process.env.NEXT_PUBLIC_STORAGE_BUCKET : import_meta.env.VITE_STORAGE_BUCKET,\n messagingSenderId: isNodeEnv ? process.env.NEXT_PUBLIC_MESSAGING_SENDER_ID : import_meta.env.VITE_MESSAGING_SENDER_ID,\n appId: isNodeEnv ? process.env.NEXT_PUBLIC_APP_ID : import_meta.env.VITE_APP_ID\n };\n try {\n const app = (0, import_app.initializeApp)(firebaseConfig);\n const auth2 = (0, import_auth.getAuth)(app);\n const db2 = (0, import_firestore.getFirestore)(app);\n const storage2 = (0, import_storage.getStorage)(app);\n return { db: db2, auth: auth2, storage: storage2 };\n } catch (error) {\n console.error(\"Failed to initialize Firebase app:\", error);\n return { db: null, auth: null };\n }\n};\nvar { db, auth, storage } = initApp();\nvar collections = {\n clients: (0, import_firestore.collection)(db, \"nx-clients\"),\n sites: (0, import_firestore.collection)(db, \"nx-sites\"),\n cars: (0, import_firestore.collection)(db, \"units\"),\n users: (0, import_firestore.collection)(db, \"nx-users\"),\n lastLocations: (0, import_firestore.collection)(db, \"last_locations\"),\n ermEvents: (0, import_firestore.collection)(db, \"erm_events_general\"),\n erm2Events: (0, import_firestore.collection)(db, \"erm2_events_general\"),\n ruptelaEvents: (0, import_firestore.collection)(db, \"ruptela_events_general\"),\n polygons: (0, import_firestore.collection)(db, \"nx-polygons\"),\n polygonEvents: (0, import_firestore.collection)(db, \"polygon_events\"),\n polygonCars: (0, import_firestore.collection)(db, \"polygon_cars\"),\n canbus: (0, import_firestore.collection)(db, \"erm_canbus_parameters\"),\n states: (0, import_firestore.collection)(db, \"erm_states\"),\n app_pro_commands_queue: (0, import_firestore.collection)(db, \"app_pro_commands_queue\"),\n trips: (0, import_firestore.collection)(db, \"erm2_trip\"),\n tripsDetails: (0, import_firestore.collection)(db, \"erm2_trip_details\"),\n audit: (0, import_firestore.collection)(db, \"nx-audit\"),\n nx_settings: (0, import_firestore.collection)(db, \"nx-settings\"),\n settings: (0, import_firestore.collection)(db, \"settings\"),\n translations: (0, import_firestore.collection)(db, \"nx-translations\"),\n nx_cars: (0, import_firestore.collection)(db, \"nx-cars\"),\n boards: (0, import_firestore.collection)(db, \"boards\"),\n protection_types: (0, import_firestore.collection)(db, \"protectionTypes\"),\n board_types: (0, import_firestore.collection)(db, \"boardTypes\"),\n charge_capacities: (0, import_firestore.collection)(db, \"nx-charge-capacities\")\n};\nvar fire_base_TIME_TEMP = import_firestore.Timestamp.now;\nvar simpleExtractData = (doc2) => {\n const docData = doc2.data();\n return {\n ...docData,\n id: doc2.id\n };\n};\nvar snapshot = (config, snapshotsFirstTime) => {\n let resolvePromise;\n let isResolved = false;\n const promise = new Promise((resolve) => {\n console.log(`==> ${config.collectionName} subscribed.`);\n resolvePromise = () => {\n if (!isResolved) {\n isResolved = true;\n resolve();\n }\n };\n });\n let collectionRef = (0, import_firestore.collection)(db, config.collectionName);\n if (config.conditions) {\n config.conditions.forEach((condition) => {\n collectionRef = (0, import_firestore.query)(collectionRef, (0, import_firestore.where)(condition.field_name, condition.operator, condition.value));\n });\n }\n const unsubscribe = (0, import_firestore.onSnapshot)(\n collectionRef,\n (snapshot2) => {\n if (!snapshotsFirstTime.includes(config.collectionName)) {\n snapshotsFirstTime.push(config.collectionName);\n const documents = snapshot2.docs.map((doc2) => simpleExtractData(doc2));\n config.onFirstTime?.(documents, config);\n config.extraParsers?.forEach((extraParser) => {\n extraParser.onFirstTime?.(documents, config);\n });\n resolvePromise();\n } else {\n const addedDocs = [];\n const modifiedDocs = [];\n const removedDocs = [];\n snapshot2.docChanges().forEach((change) => {\n if (change.type === \"added\") {\n addedDocs.push(simpleExtractData(change.doc));\n } else if (change.type === \"modified\") {\n modifiedDocs.push(simpleExtractData(change.doc));\n } else if (change.type === \"removed\") {\n removedDocs.push(simpleExtractData(change.doc));\n }\n });\n addedDocs.length && config.onAdd?.(addedDocs, config);\n modifiedDocs.length && config.onModify?.(modifiedDocs, config);\n removedDocs.length && config.onRemove?.(removedDocs, config);\n config.extraParsers?.forEach((extraParser) => {\n addedDocs.length && extraParser.onAdd?.(addedDocs, config);\n modifiedDocs.length && extraParser.onModify?.(modifiedDocs, config);\n removedDocs.length && extraParser.onRemove?.(removedDocs, config);\n });\n }\n },\n (error) => {\n console.error(`Error listening to collection: ${config.collectionName}`, error);\n resolvePromise();\n }\n );\n return { promise, unsubscribe };\n};\n\n// src/helpers/global.ts\nvar import_akeyless_types_commons = require(\"akeyless-types-commons\");\nvar import_axios = __toESM(require(\"axios\"));\n\n// src/helpers/phoneNumber.ts\nvar import_libphonenumber_js = require(\"libphonenumber-js\");\n\n// src/helpers/global.ts\nvar getUserCountryByIp = async () => {\n try {\n const response = await import_axios.default.get(\"https://ipapi.co/json/\");\n return (response.data.country_code || import_akeyless_types_commons.CountryOptions.IL).toLowerCase();\n } catch (error) {\n console.error(\"Error fetching Country:\", error);\n return import_akeyless_types_commons.CountryOptions.IL;\n }\n};\n\n// src/helpers/forms.ts\nvar import_xregexp = __toESM(require(\"xregexp\"));\nvar textRegex = (0, import_xregexp.default)(\"[^\\\\p{L}\\\\s-]\", \"gu\");\nvar numbersRegex = (0, import_xregexp.default)(\"[^0-9\\\\s-+]\", \"g\");\nvar numbersOnlyRegex = (0, import_xregexp.default)(\"[^0-9]\", \"g\");\nvar priceRegex = (0, import_xregexp.default)(\"[^0-9.]\", \"g\");\nvar emailRegex = (0, import_xregexp.default)(\"[^\\\\p{L}0-9.@\\\\s-]\", \"gu\");\nvar colorRegex = (0, import_xregexp.default)(\"[^#0-9A-Fa-f]\", \"g\");\nvar carsRegex = (0, import_xregexp.default)(\"[^\\\\p{L}0-9,_]\", \"gu\");\nvar textNumbersRegex = (0, import_xregexp.default)(\"[^\\\\p{L}0-9\\\\s+\\\\-]\", \"gu\");\nvar addressRegex = (0, import_xregexp.default)(\"[^\\\\p{L}0-9\\\\s.,\\\\-]\", \"gu\");\nvar chartsRegex = (0, import_xregexp.default)(\"[^\\\\p{L}0-9\\\\s.,_@!\\\\-]\", \"gu\");\n\n// src/lib/utils.ts\nvar import_clsx = require(\"clsx\");\nvar import_tailwind_merge = require(\"tailwind-merge\");\n\n// src/helpers/time_helpers.ts\nvar import_firestore2 = require(\"firebase/firestore\");\nvar import_moment_timezone = __toESM(require(\"moment-timezone\"));\n\n// src/hooks/global.ts\nfunction useSafeEffect(callback, dependencies, error_message) {\n (0, import_react.useEffect)(() => {\n try {\n callback();\n } catch (error) {\n console.error(error_message || \"Error in useEffect:\", error);\n }\n }, dependencies);\n}\nvar useDocumentTitle = (title) => {\n (0, import_react.useEffect)(() => {\n document.title = title;\n }, [title]);\n return null;\n};\nvar useSnapshotBulk = (configs, label) => {\n const snapshotsFirstTime = (0, import_react.useRef)([]);\n const unsubscribeFunctions = (0, import_react.useRef)([]);\n (0, import_react.useEffect)(() => {\n const start = performance.now();\n console.log(`==> ${label || \"Custom snapshots\"} started... `);\n const snapshotResults = configs.map((config) => snapshot(config, snapshotsFirstTime.current));\n unsubscribeFunctions.current = snapshotResults.map((result) => result.unsubscribe);\n Promise.all(snapshotResults.map((result) => result.promise)).then(() => {\n console.log(`==> ${label || \"Custom snapshots\"} ended. It took ${(performance.now() - start).toFixed(2)} ms`);\n });\n }, [JSON.stringify(configs), label]);\n (0, import_react.useEffect)(() => {\n return () => {\n unsubscribeFunctions.current.forEach((unsubscribe) => {\n if (unsubscribe) {\n unsubscribe();\n }\n });\n };\n }, []);\n};\nvar useSetUserCountry = (setUserCountry, changLang) => {\n (0, import_react.useLayoutEffect)(() => {\n const currentCountry = localStorage.getItem(\"userCountry\");\n if (!currentCountry) {\n const updateCountry = async () => {\n const country = await getUserCountryByIp();\n changLang(country === import_akeyless_types_commons2.CountryOptions.IL ? \"he\" : \"en\");\n setUserCountry(country);\n localStorage.setItem(\"userCountry\", country);\n };\n updateCountry();\n }\n }, []);\n return null;\n};\n\n// src/hooks/WebWorker.ts\nvar import_react2 = require(\"react\");\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n useDocumentTitle,\n useSafeEffect,\n useSetUserCountry,\n useSnapshotBulk\n});\n"]}