akeyless-client-commons 1.1.22 → 1.1.24

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.
@@ -39,6 +39,25 @@ function _async_to_generator(fn) {
39
39
  });
40
40
  };
41
41
  }
42
+ function _class_call_check(instance, Constructor) {
43
+ if (!(instance instanceof Constructor)) {
44
+ throw new TypeError("Cannot call a class as a function");
45
+ }
46
+ }
47
+ function _defineProperties(target, props) {
48
+ for(var i = 0; i < props.length; i++){
49
+ var descriptor = props[i];
50
+ descriptor.enumerable = descriptor.enumerable || false;
51
+ descriptor.configurable = true;
52
+ if ("value" in descriptor) descriptor.writable = true;
53
+ Object.defineProperty(target, descriptor.key, descriptor);
54
+ }
55
+ }
56
+ function _create_class(Constructor, protoProps, staticProps) {
57
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
58
+ if (staticProps) _defineProperties(Constructor, staticProps);
59
+ return Constructor;
60
+ }
42
61
  function _define_property(obj, key, value) {
43
62
  if (key in obj) {
44
63
  Object.defineProperty(obj, key, {
@@ -1881,6 +1900,8 @@ function timestamp_to_string(firebaseTimestamp, options) {
1881
1900
  date = firebaseTimestamp.toDate();
1882
1901
  } else if (_instanceof(firebaseTimestamp, Date)) {
1883
1902
  date = firebaseTimestamp;
1903
+ } else if (firebaseTimestamp._seconds && firebaseTimestamp._nanoseconds) {
1904
+ date = new Date(firebaseTimestamp._seconds * 1e3 + firebaseTimestamp._nanoseconds / 1e6);
1884
1905
  } else if (typeof firebaseTimestamp === "string") {
1885
1906
  date = moment2.utc(firebaseTimestamp, (options === null || options === void 0 ? void 0 : options.fromFormat) || "DD/MM/YYYY HH:mm:ss").toDate();
1886
1907
  if (isNaN(date.getTime())) {
@@ -1916,6 +1937,8 @@ var biDomain = isLocal ? "http://localhost:9002/api/bi" : baseDomain + "/bi";
1916
1937
  var notificationsDomain = isLocal ? "http://localhost:9006/api/notifications" : baseDomain + "/notifications";
1917
1938
  var callCenterGeoDomain = isLocal ? "http://localhost:9007/api/call-center/geo" : baseDomain + "/call-center/geo";
1918
1939
  var callCenterEventsDomain = isLocal ? "http://localhost:9008/api/call-center/events" : baseDomain + "/call-center/events";
1940
+ var dataSocketDomain = isLocal ? "http://localhost:9009/api/data-socket" : baseDomain + "/data-socket";
1941
+ var dataSyncDomain = isLocal ? "http://localhost:9010/api/data-sync" : baseDomain + "/data-sync";
1919
1942
  var akeylessOnlineDomain = mode === "qa" ? "https://akeyless-online.xyz" : "https://akeyless-online.info";
1920
1943
  var nxApiCall = /*#__PURE__*/ function() {
1921
1944
  var _ref = _async_to_generator(function(serverName, method, url, data) {
@@ -1946,6 +1969,12 @@ var nxApiCall = /*#__PURE__*/ function() {
1946
1969
  case "call-center-geo":
1947
1970
  urlResult = "".concat(callCenterGeoDomain, "/").concat(url);
1948
1971
  break;
1972
+ case "data-socket":
1973
+ urlResult = "".concat(dataSocketDomain, "/").concat(url);
1974
+ break;
1975
+ case "data-sync":
1976
+ urlResult = "".concat(dataSyncDomain, "/").concat(url);
1977
+ break;
1949
1978
  default:
1950
1979
  break;
1951
1980
  }
@@ -2099,5 +2128,310 @@ var createAttachmentFromUrl = /*#__PURE__*/ function() {
2099
2128
  return _ref.apply(this, arguments);
2100
2129
  };
2101
2130
  }();
2102
- export { addAuditRecord, addLoginAudit, add_document, addressRegex, akeylessOnlineDomain, app, appCheck, auth, baseDomain, biDomain, calculateBearing, callCenterEventsDomain, callCenterGeoDomain, carsRegex, chartsRegex, checkUserPermissions, cleanNxSites, cn, collections, colorRegex, createAttachmentFromBlob, createAttachmentFromUrl, createSelectors, db, delete_document, devicesDomain, displayFormatPhoneNumber, durationToSeconds, emailRegex, extractAlertsData, extractBoardsData, extractCanbusData, extractCarsData, extractClientData, extractLocationData, extractSiteData, fire_base_TIME_TEMP, formatCarNumber, getAddressByGeo, getFileUrlFromStorage, getFixedNumber, getFormCheckboxValue, getFormElementValue, getLocationUrl, getUserByEmail, getUserByIdentifier, getUserByPhone, getUserCountryByIp, get_all_documents, get_document_by_id, get_international_phone_number, googleLoginProvider, handleChange, handleInvalid, handlePaste, initializeUserPermissions, international_israel_phone_format, isInternational, isInternationalIsraelPhone, isLocal, isNodeEnv, is_iccid, local_israel_phone_format, mode, multiStringFormat, notificationsDomain, numbersOnlyRegex, numbersRegex, nxApiCall, parseMultiSelectInput, parsePermissions, parseSnapshotAsArray, priceRegex, propsAreEqual, query_document, query_document_by_conditions, query_documents, query_documents_by_conditions, renderOnce, secondsToDuration, setFormElementValue, setState, set_document, simpleExtractData, snapshot, snapshotDocument, sort_by_timestamp, storage, textNumbersRegex, textRegex, timestamp_to_millis, timestamp_to_string, uploadFileToStorage, useLoginWithGoogle, useStoreValues, useValidation, userNameFormat, validateAndCast, validateUserStatusAndPermissions };
2131
+ // src/helpers/socket.ts
2132
+ import { io } from "socket.io-client";
2133
+ var SESSION_STORAGE_KEY = "sessionId";
2134
+ var SocketService = /*#__PURE__*/ function() {
2135
+ "use strict";
2136
+ function _SocketService() {
2137
+ _class_call_check(this, _SocketService);
2138
+ this.socket = null;
2139
+ this.connectCallbacks = [];
2140
+ this.disconnectCallbacks = [];
2141
+ this.authToken = null;
2142
+ }
2143
+ _create_class(_SocketService, [
2144
+ {
2145
+ /// Initialize the socket connection
2146
+ key: "initSocket",
2147
+ value: function initSocket() {
2148
+ var _this = this;
2149
+ if (!this.socket) {
2150
+ var socketUrl = isLocal ? "http://localhost:9009" : mode === "qa" ? "https://nx-api.xyz" : "https://nx-api.info";
2151
+ this.socket = io(socketUrl, {
2152
+ path: "/api/data-socket/connect",
2153
+ auth: function(cb) {
2154
+ var sessionId = localStorage.getItem(SESSION_STORAGE_KEY) || void 0;
2155
+ var token = _this.authToken;
2156
+ var authPayload = {};
2157
+ if (token) authPayload.token = token;
2158
+ if (sessionId) authPayload.sessionId = sessionId;
2159
+ cb(authPayload);
2160
+ },
2161
+ transports: [
2162
+ "websocket"
2163
+ ],
2164
+ reconnection: true,
2165
+ reconnectionAttempts: 30,
2166
+ reconnectionDelay: 2 * 1e3
2167
+ });
2168
+ this.socket.on("connect", function() {
2169
+ var _this_socket, _this_socket1;
2170
+ console.log("\uD83D\uDFE2 Socket connected: ".concat((_this_socket = _this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.id, " (recovered - ").concat((_this_socket1 = _this.socket) === null || _this_socket1 === void 0 ? void 0 : _this_socket1.recovered, ")"));
2171
+ _this.connectCallbacks.forEach(function(cb) {
2172
+ return cb();
2173
+ });
2174
+ });
2175
+ this.socket.on("disconnect", function(reason) {
2176
+ console.log("Socket disconnected:", reason);
2177
+ _this.disconnectCallbacks.forEach(function(cb) {
2178
+ return cb();
2179
+ });
2180
+ });
2181
+ this.socket.on("session", function(param) {
2182
+ var session_id = param.session_id;
2183
+ if (session_id) {
2184
+ localStorage.setItem(SESSION_STORAGE_KEY, session_id);
2185
+ }
2186
+ });
2187
+ this.socket.on("connect_error", function(error) {
2188
+ console.error("Socket connection error:", error);
2189
+ });
2190
+ }
2191
+ }
2192
+ },
2193
+ {
2194
+ /// get socket instance
2195
+ key: "getSocketInstance",
2196
+ value: function getSocketInstance() {
2197
+ if (!this.socket) {
2198
+ this.initSocket();
2199
+ }
2200
+ if (!this.socket) {
2201
+ throw new Error("Socket not initialized");
2202
+ }
2203
+ if (!this.socket.connected) {
2204
+ this.socket.connect();
2205
+ }
2206
+ return this.socket;
2207
+ }
2208
+ },
2209
+ {
2210
+ /// connection management methods
2211
+ key: "startSession",
2212
+ value: function startSession(token) {
2213
+ this.setAuthToken(token);
2214
+ this.initSocket();
2215
+ }
2216
+ },
2217
+ {
2218
+ key: "onConnect",
2219
+ value: function onConnect(callback) {
2220
+ var _this = this;
2221
+ var _this_socket;
2222
+ if (!this.connectCallbacks.includes(callback)) {
2223
+ this.connectCallbacks.push(callback);
2224
+ }
2225
+ if ((_this_socket = this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.connected) {
2226
+ callback();
2227
+ }
2228
+ return function() {
2229
+ return _this.offConnect(callback);
2230
+ };
2231
+ }
2232
+ },
2233
+ {
2234
+ key: "offConnect",
2235
+ value: function offConnect(callback) {
2236
+ this.connectCallbacks = this.connectCallbacks.filter(function(cb) {
2237
+ return cb !== callback;
2238
+ });
2239
+ }
2240
+ },
2241
+ {
2242
+ key: "onDisconnect",
2243
+ value: function onDisconnect(callback) {
2244
+ var _this = this;
2245
+ if (!this.disconnectCallbacks.includes(callback)) {
2246
+ this.disconnectCallbacks.push(callback);
2247
+ }
2248
+ if (this.socket && !this.socket.connected) {
2249
+ callback();
2250
+ }
2251
+ return function() {
2252
+ return _this.offDisconnect(callback);
2253
+ };
2254
+ }
2255
+ },
2256
+ {
2257
+ key: "offDisconnect",
2258
+ value: function offDisconnect(callback) {
2259
+ this.disconnectCallbacks = this.disconnectCallbacks.filter(function(cb) {
2260
+ return cb !== callback;
2261
+ });
2262
+ }
2263
+ },
2264
+ {
2265
+ key: "isConnected",
2266
+ value: function isConnected() {
2267
+ var _this_socket;
2268
+ return ((_this_socket = this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.connected) || false;
2269
+ }
2270
+ },
2271
+ {
2272
+ key: "setAuthToken",
2273
+ value: function setAuthToken(token) {
2274
+ this.authToken = token;
2275
+ if (this.socket) {
2276
+ this.socket.connect();
2277
+ }
2278
+ }
2279
+ },
2280
+ {
2281
+ key: "disconnectSocket",
2282
+ value: function disconnectSocket() {
2283
+ if (this.socket) {
2284
+ this.socket.io.engine.close();
2285
+ }
2286
+ }
2287
+ },
2288
+ {
2289
+ /// subscribe to collections
2290
+ key: "subscribeToCollections",
2291
+ value: function subscribeToCollections(config) {
2292
+ var _this = this;
2293
+ if (config.length === 0) {
2294
+ return function() {};
2295
+ }
2296
+ var s = this.getSocketInstance();
2297
+ var collectionsNames = config.map(function(c) {
2298
+ return c.collectionName;
2299
+ });
2300
+ var eventHandlers = [];
2301
+ config.forEach(function(configuration) {
2302
+ var collectionName = configuration.collectionName, onAdd = configuration.onAdd, onFirstTime = configuration.onFirstTime, onModify = configuration.onModify, onRemove = configuration.onRemove, extraParsers = configuration.extraParsers, conditions = configuration.conditions, orderBy2 = configuration.orderBy;
2303
+ var attach = function(eventName, handler) {
2304
+ _this.socket.off(eventName, handler);
2305
+ _this.socket.on(eventName, handler);
2306
+ eventHandlers.push({
2307
+ eventName: eventName,
2308
+ handler: handler
2309
+ });
2310
+ };
2311
+ attach("initial:".concat(collectionName), onFirstTime);
2312
+ attach("add:".concat(collectionName), onAdd);
2313
+ attach("update:".concat(collectionName), onModify);
2314
+ attach("delete:".concat(collectionName), onRemove);
2315
+ extraParsers === null || extraParsers === void 0 ? void 0 : extraParsers.forEach(function(parsers) {
2316
+ var extraOnAdd = parsers.onAdd, extraOnFirstTime = parsers.onFirstTime, extraOnModify = parsers.onModify, extraOnRemove = parsers.onRemove;
2317
+ attach("initial:".concat(collectionName), extraOnFirstTime);
2318
+ attach("add:".concat(collectionName), extraOnAdd);
2319
+ attach("update:".concat(collectionName), extraOnModify);
2320
+ attach("delete:".concat(collectionName), extraOnRemove);
2321
+ });
2322
+ });
2323
+ s.emit("subscribe_collections", collectionsNames, function(callback) {
2324
+ if (callback.success) {
2325
+ console.log("Successfully subscribed to: ".concat(collectionsNames.join(", ")));
2326
+ } else {
2327
+ console.error("Failed to subscribe to ".concat(config.join(", "), ": ").concat(callback.message));
2328
+ }
2329
+ });
2330
+ return function() {
2331
+ console.log("Cleaning up subscriptions for: ".concat(collectionsNames.join(", ")));
2332
+ s.emit("unsubscribe_collections", collectionsNames);
2333
+ eventHandlers.forEach(function(eh) {
2334
+ s.off(eh.eventName, eh.handler);
2335
+ });
2336
+ };
2337
+ }
2338
+ },
2339
+ {
2340
+ /// set data
2341
+ key: "setData",
2342
+ value: function setData(payload) {
2343
+ var s = this.getSocketInstance();
2344
+ return new Promise(function(resolve, reject) {
2345
+ s.emit("set_data", payload, function(callback) {
2346
+ if (callback.success) {
2347
+ console.log("Data saved successfully:", payload);
2348
+ console.log("ack", callback);
2349
+ resolve(callback);
2350
+ } else {
2351
+ reject(new Error(callback.message || "Save operation failed"));
2352
+ }
2353
+ });
2354
+ });
2355
+ }
2356
+ },
2357
+ {
2358
+ /// get data
2359
+ key: "getCollectionData",
2360
+ value: function getCollectionData(payload) {
2361
+ var s = this.getSocketInstance();
2362
+ s.emit("get_data", {
2363
+ collection_name: payload.collection_name
2364
+ }, function(socketCallback) {
2365
+ if (socketCallback.success && socketCallback.data) {
2366
+ payload.callback(socketCallback.data);
2367
+ } else {
2368
+ payload.callback(payload.defaultValue);
2369
+ }
2370
+ });
2371
+ }
2372
+ },
2373
+ {
2374
+ key: "getDocumentData",
2375
+ value: function getDocumentData(payload) {
2376
+ var s = this.getSocketInstance();
2377
+ s.emit("get_data", {
2378
+ collection_name: payload.collection_name,
2379
+ key: payload.key
2380
+ }, function(socketCallback) {
2381
+ if (socketCallback.success && socketCallback.data) {
2382
+ payload.callback(socketCallback.data);
2383
+ } else {
2384
+ payload.callback(payload.defaultValue);
2385
+ }
2386
+ });
2387
+ }
2388
+ },
2389
+ {
2390
+ /// delete data
2391
+ key: "deleteData",
2392
+ value: function deleteData(payload) {
2393
+ var s = this.getSocketInstance();
2394
+ return new Promise(function(resolve, reject) {
2395
+ s.emit("delete_data", payload, function(callback) {
2396
+ if (callback.success) {
2397
+ console.log("Data deleted successfully:", payload);
2398
+ console.log("delete ack", callback);
2399
+ resolve(callback);
2400
+ } else {
2401
+ reject(new Error(callback.message || "Delete operation failed"));
2402
+ }
2403
+ });
2404
+ });
2405
+ }
2406
+ },
2407
+ {
2408
+ key: "clearAllRedisData",
2409
+ value: function clearAllRedisData() {
2410
+ var s = this.getSocketInstance();
2411
+ return new Promise(function(resolve, reject) {
2412
+ s.emit("clear_all_redis_data", function(ack) {
2413
+ if (ack.success) {
2414
+ resolve(ack);
2415
+ } else {
2416
+ reject(new Error(ack.message || "Clear all Redis data operation failed"));
2417
+ }
2418
+ });
2419
+ });
2420
+ }
2421
+ }
2422
+ ], [
2423
+ {
2424
+ key: "getInstance",
2425
+ value: function getInstance() {
2426
+ if (!_SocketService.instance) {
2427
+ _SocketService.instance = new _SocketService();
2428
+ }
2429
+ return _SocketService.instance;
2430
+ }
2431
+ }
2432
+ ]);
2433
+ return _SocketService;
2434
+ }();
2435
+ var socketServiceInstance = SocketService.getInstance();
2436
+ export { addAuditRecord, addLoginAudit, add_document, addressRegex, akeylessOnlineDomain, app, appCheck, auth, baseDomain, biDomain, calculateBearing, callCenterEventsDomain, callCenterGeoDomain, carsRegex, chartsRegex, checkUserPermissions, cleanNxSites, cn, collections, colorRegex, createAttachmentFromBlob, createAttachmentFromUrl, createSelectors, dataSocketDomain, dataSyncDomain, db, delete_document, devicesDomain, displayFormatPhoneNumber, durationToSeconds, emailRegex, extractAlertsData, extractBoardsData, extractCanbusData, extractCarsData, extractClientData, extractLocationData, extractSiteData, fire_base_TIME_TEMP, formatCarNumber, getAddressByGeo, getFileUrlFromStorage, getFixedNumber, getFormCheckboxValue, getFormElementValue, getLocationUrl, getUserByEmail, getUserByIdentifier, getUserByPhone, getUserCountryByIp, get_all_documents, get_document_by_id, get_international_phone_number, googleLoginProvider, handleChange, handleInvalid, handlePaste, initializeUserPermissions, international_israel_phone_format, isInternational, isInternationalIsraelPhone, isLocal, isNodeEnv, is_iccid, local_israel_phone_format, mode, multiStringFormat, notificationsDomain, numbersOnlyRegex, numbersRegex, nxApiCall, parseMultiSelectInput, parsePermissions, parseSnapshotAsArray, priceRegex, propsAreEqual, query_document, query_document_by_conditions, query_documents, query_documents_by_conditions, renderOnce, secondsToDuration, setFormElementValue, setState, set_document, simpleExtractData, snapshot, snapshotDocument, socketServiceInstance, sort_by_timestamp, storage, textNumbersRegex, textRegex, timestamp_to_millis, timestamp_to_string, uploadFileToStorage, useLoginWithGoogle, useStoreValues, useValidation, userNameFormat, validateAndCast, validateUserStatusAndPermissions };
2103
2437
  //# sourceMappingURL=index.mjs.map
@@ -2,6 +2,13 @@ import { CountryOptions } from 'akeyless-types-commons';
2
2
  import { Dispatch, SetStateAction, EffectCallback } from 'react';
3
3
  import { WhereFilterOp } from 'firebase/firestore';
4
4
 
5
+ declare const useDocumentTitle: (title: string) => any;
6
+ declare const useSetUserCountry: (setUserCountry: Dispatch<SetStateAction<CountryOptions>>, changLang: (lang: string) => void) => any;
7
+
8
+ declare function useSafeEffect(callback: () => void, dependencies: any[], error_message?: string): void;
9
+ declare const useDeepCompareMemo: <T>(factory: () => T, dependencies: any[]) => T;
10
+ declare function useDeepCompareEffect(effect: EffectCallback, dependencies: any[]): void;
11
+
5
12
  type OnSnapshotCallback = (documents: any[], config: OnSnapshotConfig) => void;
6
13
  interface OnSnapshotParsers {
7
14
  onFirstTime?: OnSnapshotCallback;
@@ -22,17 +29,29 @@ interface OnSnapshotConfig extends OnSnapshotParsers {
22
29
  fieldName: string;
23
30
  direction: "asc" | "desc";
24
31
  }[];
32
+ parseAs?: "object" | "array";
33
+ subscribeTo?: "cache" | "db";
25
34
  }
26
35
 
27
- declare const useDocumentTitle: (title: string) => any;
28
- declare const useSnapshotBulk: (configs: OnSnapshotConfig[], label?: string, settings?: {
36
+ declare const useDbSnapshots: (configs: OnSnapshotConfig[], label?: string, settings?: {
29
37
  cleanupForConfigChange?: boolean;
30
38
  disableLogs?: boolean;
31
39
  }) => void;
32
- declare const useSetUserCountry: (setUserCountry: Dispatch<SetStateAction<CountryOptions>>, changLang: (lang: string) => void) => any;
33
-
34
- declare function useSafeEffect(callback: () => void, dependencies: any[], error_message?: string): void;
35
- declare const useDeepCompareMemo: <T>(factory: () => T, dependencies: any[]) => T;
36
- declare function useDeepCompareEffect(effect: EffectCallback, dependencies: any[]): void;
40
+ declare const useSmartSnapshots: (configs: OnSnapshotConfig[], label?: string, settings?: {
41
+ cleanupForConfigChange?: boolean;
42
+ disableLogs?: boolean;
43
+ }) => {
44
+ groupedConfig: {
45
+ configForDb: OnSnapshotConfig[];
46
+ configForCache: OnSnapshotConfig[];
47
+ };
48
+ socketConnected: boolean;
49
+ };
50
+ declare const useSocketSnapshots: (configs: OnSnapshotConfig[], label?: string, settings?: {
51
+ cleanupForConfigChange?: boolean;
52
+ disableLogs?: boolean;
53
+ }) => {
54
+ socketConnected: boolean;
55
+ };
37
56
 
38
- export { useDeepCompareEffect, useDeepCompareMemo, useDocumentTitle, useSafeEffect, useSetUserCountry, useSnapshotBulk };
57
+ export { useDbSnapshots, useDeepCompareEffect, useDeepCompareMemo, useDocumentTitle, useSafeEffect, useSetUserCountry, useSmartSnapshots, useSocketSnapshots };
@@ -2,6 +2,13 @@ import { CountryOptions } from 'akeyless-types-commons';
2
2
  import { Dispatch, SetStateAction, EffectCallback } from 'react';
3
3
  import { WhereFilterOp } from 'firebase/firestore';
4
4
 
5
+ declare const useDocumentTitle: (title: string) => any;
6
+ declare const useSetUserCountry: (setUserCountry: Dispatch<SetStateAction<CountryOptions>>, changLang: (lang: string) => void) => any;
7
+
8
+ declare function useSafeEffect(callback: () => void, dependencies: any[], error_message?: string): void;
9
+ declare const useDeepCompareMemo: <T>(factory: () => T, dependencies: any[]) => T;
10
+ declare function useDeepCompareEffect(effect: EffectCallback, dependencies: any[]): void;
11
+
5
12
  type OnSnapshotCallback = (documents: any[], config: OnSnapshotConfig) => void;
6
13
  interface OnSnapshotParsers {
7
14
  onFirstTime?: OnSnapshotCallback;
@@ -22,17 +29,29 @@ interface OnSnapshotConfig extends OnSnapshotParsers {
22
29
  fieldName: string;
23
30
  direction: "asc" | "desc";
24
31
  }[];
32
+ parseAs?: "object" | "array";
33
+ subscribeTo?: "cache" | "db";
25
34
  }
26
35
 
27
- declare const useDocumentTitle: (title: string) => any;
28
- declare const useSnapshotBulk: (configs: OnSnapshotConfig[], label?: string, settings?: {
36
+ declare const useDbSnapshots: (configs: OnSnapshotConfig[], label?: string, settings?: {
29
37
  cleanupForConfigChange?: boolean;
30
38
  disableLogs?: boolean;
31
39
  }) => void;
32
- declare const useSetUserCountry: (setUserCountry: Dispatch<SetStateAction<CountryOptions>>, changLang: (lang: string) => void) => any;
33
-
34
- declare function useSafeEffect(callback: () => void, dependencies: any[], error_message?: string): void;
35
- declare const useDeepCompareMemo: <T>(factory: () => T, dependencies: any[]) => T;
36
- declare function useDeepCompareEffect(effect: EffectCallback, dependencies: any[]): void;
40
+ declare const useSmartSnapshots: (configs: OnSnapshotConfig[], label?: string, settings?: {
41
+ cleanupForConfigChange?: boolean;
42
+ disableLogs?: boolean;
43
+ }) => {
44
+ groupedConfig: {
45
+ configForDb: OnSnapshotConfig[];
46
+ configForCache: OnSnapshotConfig[];
47
+ };
48
+ socketConnected: boolean;
49
+ };
50
+ declare const useSocketSnapshots: (configs: OnSnapshotConfig[], label?: string, settings?: {
51
+ cleanupForConfigChange?: boolean;
52
+ disableLogs?: boolean;
53
+ }) => {
54
+ socketConnected: boolean;
55
+ };
37
56
 
38
- export { useDeepCompareEffect, useDeepCompareMemo, useDocumentTitle, useSafeEffect, useSetUserCountry, useSnapshotBulk };
57
+ export { useDbSnapshots, useDeepCompareEffect, useDeepCompareMemo, useDocumentTitle, useSafeEffect, useSetUserCountry, useSmartSnapshots, useSocketSnapshots };