refactor!: Rename sync APIs and ownership spaces (#128)

This commit is contained in:
Marcelo Mendonça Soares 2026-09-14 13:39:07 -03:00 • committed by GitHub
commit b89725f6ea
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 43650 additions and 9417 deletions

View file

@ -0,0 +1,3 @@
export 'package:serverpod_offline_sync/serverpod_offline_sync.dart' hide Protocol;
export 'src/sync/client_sync.dart';

View file

@ -1,5 +1,5 @@
export 'package:serverpod_client/serverpod_client.dart';
export 'package:serverpod_offline_sync/serverpod_offline_sync.dart' hide Protocol;
export 'src/crdt/client_sync.dart';
export 'src/protocol/protocol.dart';
export 'src/sync/client_sync.dart';

View file

@ -17,22 +17,22 @@ import 'package:serverpod_offline_sync/serverpod_offline_sync.dart'
/// Endpoint for CRDT-based offline-first synchronization.
/// {@category Endpoint}
class EndpointCrdtSync extends _isc.EndpointRef {
EndpointCrdtSync(_isc.EndpointCaller caller) : super(caller);
class EndpointOfflineSync extends _isc.EndpointRef {
EndpointOfflineSync(_isc.EndpointCaller caller) : super(caller);
@override
String get name => 'serverpod_offline_sync.crdtSync';
String get name => 'serverpod_offline_sync.offlineSync';
/// Opens a bidirectional CRDT sync session with the authenticated client.
_ida.Stream<_icw2tu00.CrdtSyncStreamEvent> sync({
required _ida.Stream<_icw2tu00.CrdtSyncStreamEvent> changes,
_ida.Stream<_icw2tu00.OfflineSyncStreamEvent> sync({
required _ida.Stream<_icw2tu00.OfflineSyncStreamEvent> changes,
required bool once,
}) =>
caller.callStreamingServerEndpoint<
_ida.Stream<_icw2tu00.CrdtSyncStreamEvent>,
_icw2tu00.CrdtSyncStreamEvent
_ida.Stream<_icw2tu00.OfflineSyncStreamEvent>,
_icw2tu00.OfflineSyncStreamEvent
>(
'serverpod_offline_sync.crdtSync',
'serverpod_offline_sync.offlineSync',
'sync',
{'once': once},
{'changes': changes},
@ -41,13 +41,13 @@ class EndpointCrdtSync extends _isc.EndpointRef {
class Caller extends _isc.ModuleEndpointCaller {
Caller(_isc.ServerpodClientShared client) : super(client) {
crdtSync = EndpointCrdtSync(this);
offlineSync = EndpointOfflineSync(this);
}
late final EndpointCrdtSync crdtSync;
late final EndpointOfflineSync offlineSync;
@override
Map<String, _isc.EndpointRef> get endpointRefLookup => {
'serverpod_offline_sync.crdtSync': crdtSync,
'serverpod_offline_sync.offlineSync': offlineSync,
};
}

View file

@ -0,0 +1,15 @@
import 'package:serverpod_client/serverpod_client.dart';
import 'package:serverpod_offline_sync/serverpod_offline_sync.dart';
import '../protocol/client.dart';
/// Exposes CRDT sync helpers from a generated client.
extension OfflineSyncClientExtension on ServerpodClientShared {
/// Returns CRDT sync helpers bound to this client.
OfflineSyncClient get offlineSync => OfflineSyncClient(
({required changes, required once}) => Caller(this).offlineSync.sync(
changes: changes,
once: once,
),
);
}