cry-synced-db-client 0.1.65 → 0.1.66
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/index.js
CHANGED
|
@@ -2833,11 +2833,28 @@ class NetworkStatusManager {
|
|
|
2833
2833
|
const finalOnlineState = this.pendingOnlineState ?? this.isNavigatorOnline();
|
|
2834
2834
|
this.pendingOnlineState = undefined;
|
|
2835
2835
|
const info = { online: finalOnlineState, timestamp: new Date };
|
|
2836
|
-
if (this.callbacks.
|
|
2836
|
+
if (this.callbacks.onBrowserNetworkChange) {
|
|
2837
2837
|
try {
|
|
2838
|
-
this.callbacks.
|
|
2838
|
+
this.callbacks.onBrowserNetworkChange(info);
|
|
2839
2839
|
} catch (err) {
|
|
2840
|
-
console.error("
|
|
2840
|
+
console.error("onBrowserNetworkChange callback failed:", err);
|
|
2841
|
+
}
|
|
2842
|
+
}
|
|
2843
|
+
if (finalOnlineState) {
|
|
2844
|
+
if (this.callbacks.onBrowserOnline) {
|
|
2845
|
+
try {
|
|
2846
|
+
this.callbacks.onBrowserOnline();
|
|
2847
|
+
} catch (err) {
|
|
2848
|
+
console.error("onBrowserOnline callback failed:", err);
|
|
2849
|
+
}
|
|
2850
|
+
}
|
|
2851
|
+
} else {
|
|
2852
|
+
if (this.callbacks.onBrowserOffline) {
|
|
2853
|
+
try {
|
|
2854
|
+
this.callbacks.onBrowserOffline();
|
|
2855
|
+
} catch (err) {
|
|
2856
|
+
console.error("onBrowserOffline callback failed:", err);
|
|
2857
|
+
}
|
|
2841
2858
|
}
|
|
2842
2859
|
}
|
|
2843
2860
|
this.deps.setOnline(finalOnlineState).catch((err) => {
|
|
@@ -3061,7 +3078,9 @@ class SyncedDb {
|
|
|
3061
3078
|
this.networkStatus = new NetworkStatusManager({
|
|
3062
3079
|
debounceMs: config.networkStatusDebounceMs ?? 100,
|
|
3063
3080
|
callbacks: {
|
|
3064
|
-
|
|
3081
|
+
onBrowserNetworkChange: config.onBrowserNetworkChange,
|
|
3082
|
+
onBrowserOnline: config.onBrowserOnline,
|
|
3083
|
+
onBrowserOffline: config.onBrowserOffline
|
|
3065
3084
|
},
|
|
3066
3085
|
deps: {
|
|
3067
3086
|
setOnline: (online) => this.setOnline(online)
|
|
@@ -315,8 +315,12 @@ export interface NetworkStatusChangeInfo {
|
|
|
315
315
|
timestamp: Date;
|
|
316
316
|
}
|
|
317
317
|
export interface NetworkStatusCallbacks {
|
|
318
|
-
/** Called when network status changes (
|
|
319
|
-
|
|
318
|
+
/** Called when browser network status changes (online/offline event, after debounce) */
|
|
319
|
+
onBrowserNetworkChange?: (info: NetworkStatusChangeInfo) => void;
|
|
320
|
+
/** Called when browser goes online (after debounce) */
|
|
321
|
+
onBrowserOnline?: () => void;
|
|
322
|
+
/** Called when browser goes offline (after debounce) */
|
|
323
|
+
onBrowserOffline?: () => void;
|
|
320
324
|
}
|
|
321
325
|
export interface NetworkStatusDeps {
|
|
322
326
|
/** Set SyncedDb online/offline status */
|
|
@@ -378,8 +378,21 @@ export interface SyncedDbConfig {
|
|
|
378
378
|
/**
|
|
379
379
|
* Callback when browser network status changes (online/offline event).
|
|
380
380
|
* Called after debounce, before setOnline() is invoked. Useful for logging/UI updates.
|
|
381
|
+
* Note: This is different from onOnlineStatusChange which fires after SyncedDb processes the change.
|
|
381
382
|
*/
|
|
382
|
-
|
|
383
|
+
onBrowserNetworkChange?: (info: NetworkStatusChangeInfo) => void;
|
|
384
|
+
/**
|
|
385
|
+
* Callback when browser goes online (after debounce).
|
|
386
|
+
* Called before setOnline(true) is invoked.
|
|
387
|
+
* Note: This is different from onOnlineStatusChange which fires after SyncedDb processes the change.
|
|
388
|
+
*/
|
|
389
|
+
onBrowserOnline?: () => void;
|
|
390
|
+
/**
|
|
391
|
+
* Callback when browser goes offline (after debounce).
|
|
392
|
+
* Called before setOnline(false) is invoked.
|
|
393
|
+
* Note: This is different from onOnlineStatusChange which fires after SyncedDb processes the change.
|
|
394
|
+
*/
|
|
395
|
+
onBrowserOffline?: () => void;
|
|
383
396
|
}
|
|
384
397
|
/**
|
|
385
398
|
* Glavna logika za sinhronizirano bazo podatkov
|