Skip to content

Commit 961c961

Browse files
committed
chore: pr feedback
1 parent 823970f commit 961c961

File tree

5 files changed

+27
-39
lines changed

5 files changed

+27
-39
lines changed

packages/common/src/client/AbstractPowerSyncDatabase.ts

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ import { CrudEntry, CrudEntryJSON } from './sync/bucket/CrudEntry.js';
2424
import { CrudTransaction } from './sync/bucket/CrudTransaction.js';
2525
import {
2626
DEFAULT_CRUD_UPLOAD_THROTTLE_MS,
27-
PowerSyncConnectionOptions,
27+
type PowerSyncConnectionOptionalOptions,
28+
type PowerSyncConnectionOptions,
2829
StreamingSyncImplementation,
2930
StreamingSyncImplementationListener
3031
} from './sync/stream/AbstractStreamingSyncImplementation.js';
@@ -35,21 +36,9 @@ export interface DisconnectAndClearOptions {
3536
clearLocal?: boolean;
3637
}
3738

38-
export interface BasePowerSyncDatabaseOptions {
39+
export interface BasePowerSyncDatabaseOptions extends PowerSyncConnectionOptionalOptions {
3940
/** Schema used for the local database. */
4041
schema: Schema;
41-
42-
/**
43-
* Delay for retrying sync streaming operations
44-
* from the PowerSync backend after an error occurs.
45-
*/
46-
retryDelay?: number;
47-
/**
48-
* Backend Connector CRUD operations are throttled
49-
* to occur at most every `crudUploadThrottleMs`
50-
* milliseconds.
51-
*/
52-
crudUploadThrottleMs?: number;
5342
logger?: ILogger;
5443
}
5544

@@ -129,7 +118,7 @@ export const DEFAULT_POWERSYNC_CLOSE_OPTIONS: PowerSyncCloseOptions = {
129118
export const DEFAULT_WATCH_THROTTLE_MS = 30;
130119

131120
export const DEFAULT_POWERSYNC_DB_OPTIONS = {
132-
retryDelay: 5000,
121+
retryDelayMs: 5000,
133122
logger: Logger.get('PowerSyncDatabase'),
134123
crudUploadThrottleMs: DEFAULT_CRUD_UPLOAD_THROTTLE_MS
135124
};
@@ -244,10 +233,7 @@ export abstract class AbstractPowerSyncDatabase extends BaseObserver<PowerSyncDB
244233

245234
protected abstract generateSyncStreamImplementation(
246235
connector: PowerSyncBackendConnector,
247-
options?: {
248-
retryDelayMs?: number;
249-
crudUploadThrottleMs?: number;
250-
}
236+
options?: PowerSyncConnectionOptionalOptions
251237
): StreamingSyncImplementation;
252238

253239
protected abstract generateBucketStorageAdapter(): BucketStorageAdapter;

packages/common/src/client/sync/stream/AbstractStreamingSyncImplementation.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ export interface StreamingSyncImplementationListener extends BaseListener {
6767
* Configurable options to be used when connecting to the PowerSync
6868
* backend instance.
6969
*/
70-
export interface PowerSyncConnectionOptions {
70+
export interface PowerSyncConnectionOptions extends PowerSyncConnectionOptionalOptions, PowerSyncConnectionRequiredOptions {}
71+
72+
export interface PowerSyncConnectionRequiredOptions {
7173
/**
7274
* The connection method to use when streaming updates from
7375
* the PowerSync backend instance.
@@ -79,19 +81,21 @@ export interface PowerSyncConnectionOptions {
7981
* These parameters are passed to the sync rules, and will be available under the`user_parameters` object.
8082
*/
8183
params?: Record<string, StreamingSyncRequestParameterType>;
82-
/**
84+
}
85+
86+
export interface PowerSyncConnectionOptionalOptions {
87+
/**
8388
* Delay for retrying sync streaming operations
8489
* from the PowerSync backend after an error occurs.
8590
*/
86-
retryDelayMs?: number;
87-
/**
88-
* Backend Connector CRUD operations are throttled
89-
* to occur at most every `crudUploadThrottleMs`
90-
* milliseconds.
91-
*/
92-
crudUploadThrottleMs?: number;
91+
retryDelayMs?: number;
92+
/**
93+
* Backend Connector CRUD operations are throttled
94+
* to occur at most every `crudUploadThrottleMs`
95+
* milliseconds.
96+
*/
97+
crudUploadThrottleMs?: number;
9398
}
94-
export type PowerSyncConnectionRequiredOptions = Required<Omit<PowerSyncConnectionOptions, 'retryDelayMs' | 'crudUploadThrottleMs'>>;
9599

96100
export interface StreamingSyncImplementation extends BaseObserver<StreamingSyncImplementationListener>, Disposable {
97101
/**

packages/react-native/src/db/PowerSyncDatabase.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ export class PowerSyncDatabase extends AbstractPowerSyncDatabase {
5151
): AbstractStreamingSyncImplementation {
5252
const remote = new ReactNativeRemote(connector);
5353
// Use the options passed in during connect, or fallback to the options set during database creation
54-
const retryDelayMs = options?.retryDelayMs || this.options.retryDelay;
55-
const crudUploadThrottleMs = options?.crudUploadThrottleMs || this.options.crudUploadThrottleMs;
54+
const retryDelayMs = options?.retryDelayMs ?? this.options.retryDelayMs;
55+
const crudUploadThrottleMs = options?.crudUploadThrottleMs ?? this.options.crudUploadThrottleMs;
5656

5757
return new ReactNativeStreamingSyncImplementation({
5858
adapter: this.bucketStorageAdapter,

packages/web/src/db/PowerSyncDatabase.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {
33
type PowerSyncBackendConnector,
44
type PowerSyncCloseOptions,
55
type PowerSyncConnectionOptions,
6+
type PowerSyncConnectionOptionalOptions,
67
AbstractPowerSyncDatabase,
78
DBAdapter,
89
DEFAULT_POWERSYNC_CLOSE_OPTIONS,
@@ -167,15 +168,12 @@ export class PowerSyncDatabase extends AbstractPowerSyncDatabase {
167168
protected generateSyncStreamImplementation(
168169
connector: PowerSyncBackendConnector,
169170
// This is used to pass in options on connection instead of only during db creation
170-
options?: {
171-
retryDelayMs?: number;
172-
crudUploadThrottleMs?: number;
173-
}
171+
options?: PowerSyncConnectionOptionalOptions
174172
): StreamingSyncImplementation {
175173
const remote = new WebRemote(connector);
176174
// Use the options passed in during connect, or fallback to the options set during database creation
177-
const retryDelayMs = options?.retryDelayMs || this.options.retryDelay;
178-
const crudUploadThrottleMs = options?.crudUploadThrottleMs || this.options.crudUploadThrottleMs;
175+
const retryDelayMs = options?.retryDelayMs ?? this.options.retryDelayMs;
176+
const crudUploadThrottleMs = options?.crudUploadThrottleMs ?? this.options.crudUploadThrottleMs;
179177

180178
const syncOptions: WebStreamingSyncImplementationOptions = {
181179
...(this.options as {}),

packages/web/tests/src/db/PowersyncDatabase.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ describe('PowerSyncDatabase - generateSyncStreamImplementation', () => {
3434
flags: {
3535
ssrMode: true,
3636
},
37-
retryDelay: 1000,
37+
retryDelayMs: 1000,
3838
crudUploadThrottleMs: 2000
3939
})
4040

@@ -86,7 +86,7 @@ describe('PowerSyncDatabase - generateSyncStreamImplementation', () => {
8686
ssrMode: false,
8787
enableMultiTabs: false,
8888
},
89-
retryDelay: 1000,
89+
retryDelayMs: 1000,
9090
crudUploadThrottleMs: 2000
9191
})
9292

0 commit comments

Comments
 (0)