@@ -28,7 +28,8 @@ import {
2828 type PowerSyncConnectionOptions ,
2929 StreamingSyncImplementation ,
3030 StreamingSyncImplementationListener ,
31- DEFAULT_RETRY_DELAY_MS
31+ DEFAULT_RETRY_DELAY_MS ,
32+ type RequiredAdditionalConnectionOptions
3233} from './sync/stream/AbstractStreamingSyncImplementation.js' ;
3334import { runOnSchemaChange } from './runOnSchemaChange.js' ;
3435
@@ -238,7 +239,7 @@ export abstract class AbstractPowerSyncDatabase extends BaseObserver<PowerSyncDB
238239
239240 protected abstract generateSyncStreamImplementation (
240241 connector : PowerSyncBackendConnector ,
241- options : Required < AdditionalConnectionOptions >
242+ options : RequiredAdditionalConnectionOptions
242243 ) : StreamingSyncImplementation ;
243244
244245 protected abstract generateBucketStorageAdapter ( ) : BucketStorageAdapter ;
@@ -371,6 +372,15 @@ export abstract class AbstractPowerSyncDatabase extends BaseObserver<PowerSyncDB
371372 return this . waitForReady ( ) ;
372373 }
373374
375+ // Use the options passed in during connect, or fallback to the options set during database creation or fallback to the default options
376+ resolvedConnectionOptions ( options ?: PowerSyncConnectionOptions ) : RequiredAdditionalConnectionOptions {
377+ return {
378+ retryDelayMs : options ?. retryDelayMs ?? this . options . retryDelayMs ?? this . options . retryDelay ?? DEFAULT_RETRY_DELAY_MS ,
379+ crudUploadThrottleMs :
380+ options ?. crudUploadThrottleMs ?? this . options . crudUploadThrottleMs ?? DEFAULT_CRUD_UPLOAD_THROTTLE_MS
381+ } ;
382+ }
383+
374384 /**
375385 * Connects to stream of events from the PowerSync instance.
376386 */
@@ -383,9 +393,7 @@ export abstract class AbstractPowerSyncDatabase extends BaseObserver<PowerSyncDB
383393 throw new Error ( 'Cannot connect using a closed client' ) ;
384394 }
385395
386- // Use the options passed in during connect, or fallback to the options set during database creation or fallback to the default options
387- const retryDelayMs = options ?. retryDelayMs ?? this . options . retryDelayMs ?? this . options . retryDelay ?? DEFAULT_RETRY_DELAY_MS ;
388- const crudUploadThrottleMs = options ?. crudUploadThrottleMs ?? this . options . crudUploadThrottleMs ?? DEFAULT_CRUD_UPLOAD_THROTTLE_MS ;
396+ const { retryDelayMs, crudUploadThrottleMs } = this . resolvedConnectionOptions ( options ) ;
389397
390398 this . syncStreamImplementation = this . generateSyncStreamImplementation ( connector , {
391399 retryDelayMs,
0 commit comments