@@ -3,7 +3,12 @@ import * as Comlink from 'comlink';
3
3
import { resolveWebPowerSyncFlags } from '../../PowerSyncDatabase' ;
4
4
import { OpenAsyncDatabaseConnection } from '../AsyncDatabaseConnection' ;
5
5
import { LockedAsyncDatabaseAdapter } from '../LockedAsyncDatabaseAdapter' ;
6
- import { ResolvedWebSQLOpenOptions , TemporaryStorageOption , WebSQLFlags } from '../web-sql-flags' ;
6
+ import {
7
+ DEFAULT_CACHE_SIZE_KB ,
8
+ ResolvedWebSQLOpenOptions ,
9
+ TemporaryStorageOption ,
10
+ WebSQLFlags
11
+ } from '../web-sql-flags' ;
7
12
import { WorkerWrappedAsyncDatabaseConnection } from '../WorkerWrappedAsyncDatabaseConnection' ;
8
13
import { WASQLiteVFS } from './WASQLiteConnection' ;
9
14
import { WASQLiteOpenFactory } from './WASQLiteOpenFactory' ;
@@ -27,6 +32,7 @@ export interface WASQLiteDBAdapterOptions extends Omit<PowerSyncOpenFactoryOptio
27
32
28
33
vfs ?: WASQLiteVFS ;
29
34
temporaryStorage ?: TemporaryStorageOption ;
35
+ cacheSizeKb ?: number ;
30
36
31
37
/**
32
38
* Encryption key for the database.
@@ -43,7 +49,7 @@ export class WASQLiteDBAdapter extends LockedAsyncDatabaseAdapter {
43
49
super ( {
44
50
name : options . dbFilename ,
45
51
openConnection : async ( ) => {
46
- const { workerPort, temporaryStorage } = options ;
52
+ const { workerPort, temporaryStorage, cacheSizeKb } = options ;
47
53
if ( workerPort ) {
48
54
const remote = Comlink . wrap < OpenAsyncDatabaseConnection > ( workerPort ) ;
49
55
return new WorkerWrappedAsyncDatabaseConnection ( {
@@ -52,6 +58,7 @@ export class WASQLiteDBAdapter extends LockedAsyncDatabaseAdapter {
52
58
baseConnection : await remote ( {
53
59
...options ,
54
60
temporaryStorage : temporaryStorage ?? TemporaryStorageOption . MEMORY ,
61
+ cacheSizeKb : cacheSizeKb ?? DEFAULT_CACHE_SIZE_KB ,
55
62
flags : resolveWebPowerSyncFlags ( options . flags ) ,
56
63
encryptionKey : options . encryptionKey
57
64
} )
@@ -63,6 +70,7 @@ export class WASQLiteDBAdapter extends LockedAsyncDatabaseAdapter {
63
70
debugMode : options . debugMode ,
64
71
flags : options . flags ,
65
72
temporaryStorage,
73
+ cacheSizeKb,
66
74
logger : options . logger ,
67
75
vfs : options . vfs ,
68
76
encryptionKey : options . encryptionKey ,
0 commit comments