cry-synced-db-client 0.1.65 → 0.1.67
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
|
@@ -640,6 +640,7 @@ class ConnectionManager {
|
|
|
640
640
|
} else {
|
|
641
641
|
this.online = online;
|
|
642
642
|
this.stopAutoSync();
|
|
643
|
+
this.callbacks.onOnlineStatusChange?.(false);
|
|
643
644
|
}
|
|
644
645
|
}
|
|
645
646
|
forceOffline(forced) {
|
|
@@ -2833,11 +2834,28 @@ class NetworkStatusManager {
|
|
|
2833
2834
|
const finalOnlineState = this.pendingOnlineState ?? this.isNavigatorOnline();
|
|
2834
2835
|
this.pendingOnlineState = undefined;
|
|
2835
2836
|
const info = { online: finalOnlineState, timestamp: new Date };
|
|
2836
|
-
if (this.callbacks.
|
|
2837
|
+
if (this.callbacks.onBrowserNetworkChange) {
|
|
2837
2838
|
try {
|
|
2838
|
-
this.callbacks.
|
|
2839
|
+
this.callbacks.onBrowserNetworkChange(info);
|
|
2839
2840
|
} catch (err) {
|
|
2840
|
-
console.error("
|
|
2841
|
+
console.error("onBrowserNetworkChange callback failed:", err);
|
|
2842
|
+
}
|
|
2843
|
+
}
|
|
2844
|
+
if (finalOnlineState) {
|
|
2845
|
+
if (this.callbacks.onBrowserOnline) {
|
|
2846
|
+
try {
|
|
2847
|
+
this.callbacks.onBrowserOnline();
|
|
2848
|
+
} catch (err) {
|
|
2849
|
+
console.error("onBrowserOnline callback failed:", err);
|
|
2850
|
+
}
|
|
2851
|
+
}
|
|
2852
|
+
} else {
|
|
2853
|
+
if (this.callbacks.onBrowserOffline) {
|
|
2854
|
+
try {
|
|
2855
|
+
this.callbacks.onBrowserOffline();
|
|
2856
|
+
} catch (err) {
|
|
2857
|
+
console.error("onBrowserOffline callback failed:", err);
|
|
2858
|
+
}
|
|
2841
2859
|
}
|
|
2842
2860
|
}
|
|
2843
2861
|
this.deps.setOnline(finalOnlineState).catch((err) => {
|
|
@@ -3061,7 +3079,9 @@ class SyncedDb {
|
|
|
3061
3079
|
this.networkStatus = new NetworkStatusManager({
|
|
3062
3080
|
debounceMs: config.networkStatusDebounceMs ?? 100,
|
|
3063
3081
|
callbacks: {
|
|
3064
|
-
|
|
3082
|
+
onBrowserNetworkChange: config.onBrowserNetworkChange,
|
|
3083
|
+
onBrowserOnline: config.onBrowserOnline,
|
|
3084
|
+
onBrowserOffline: config.onBrowserOffline
|
|
3065
3085
|
},
|
|
3066
3086
|
deps: {
|
|
3067
3087
|
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
|