@powersync/op-sqlite 0.0.0-dev-20241107150304 → 0.0.0-dev-20250121082529
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/README.md +36 -0
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/powersync/opsqlite/PowerSyncOpSqlitePackage.kt +4 -8
- package/ios/PowerSyncOpSqlite.mm +0 -5
- package/lib/commonjs/db/OPSQLiteConnection.js +47 -21
- package/lib/commonjs/db/OPSQLiteConnection.js.map +1 -1
- package/lib/commonjs/db/OPSqliteAdapter.js +23 -8
- package/lib/commonjs/db/OPSqliteAdapter.js.map +1 -1
- package/lib/commonjs/db/SqliteOptions.js +2 -1
- package/lib/commonjs/db/SqliteOptions.js.map +1 -1
- package/lib/commonjs/index.js +0 -16
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/db/OPSQLiteConnection.js +47 -21
- package/lib/module/db/OPSQLiteConnection.js.map +1 -1
- package/lib/module/db/OPSqliteAdapter.js +25 -10
- package/lib/module/db/OPSqliteAdapter.js.map +1 -1
- package/lib/module/db/SqliteOptions.js +2 -1
- package/lib/module/db/SqliteOptions.js.map +1 -1
- package/lib/module/index.js +0 -15
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/db/OPSQLiteConnection.d.ts +11 -1
- package/lib/typescript/commonjs/src/db/OPSQLiteConnection.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/db/OPSqliteAdapter.d.ts +3 -1
- package/lib/typescript/commonjs/src/db/OPSqliteAdapter.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/db/SqliteOptions.d.ts +8 -0
- package/lib/typescript/commonjs/src/db/SqliteOptions.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +0 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/tsconfig.build.tsbuildinfo +1 -1
- package/lib/typescript/module/src/db/OPSQLiteConnection.d.ts +11 -1
- package/lib/typescript/module/src/db/OPSQLiteConnection.d.ts.map +1 -1
- package/lib/typescript/module/src/db/OPSqliteAdapter.d.ts +3 -1
- package/lib/typescript/module/src/db/OPSqliteAdapter.d.ts.map +1 -1
- package/lib/typescript/module/src/db/SqliteOptions.d.ts +8 -0
- package/lib/typescript/module/src/db/SqliteOptions.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +0 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/powersync-op-sqlite.podspec +1 -1
- package/src/db/OPSQLiteConnection.ts +73 -24
- package/src/db/OPSqliteAdapter.ts +43 -18
- package/src/db/SqliteOptions.ts +11 -1
- package/src/index.ts +4 -30
- package/android/src/main/java/com/powersync/opsqlite/PowerSyncOpSqliteModule.kt +0 -25
- package/android/src/newarch/PowerSyncOpSqliteSpec.kt +0 -7
- package/android/src/oldarch/PowerSyncOpSqliteSpec.kt +0 -11
- package/lib/commonjs/NativePowerSyncOpSqlite.js +0 -9
- package/lib/commonjs/NativePowerSyncOpSqlite.js.map +0 -1
- package/lib/module/NativePowerSyncOpSqlite.js +0 -5
- package/lib/module/NativePowerSyncOpSqlite.js.map +0 -1
- package/lib/typescript/commonjs/src/NativePowerSyncOpSqlite.d.ts +0 -7
- package/lib/typescript/commonjs/src/NativePowerSyncOpSqlite.d.ts.map +0 -1
- package/lib/typescript/module/src/NativePowerSyncOpSqlite.d.ts +0 -7
- package/lib/typescript/module/src/NativePowerSyncOpSqlite.d.ts.map +0 -1
- package/src/NativePowerSyncOpSqlite.ts +0 -8
package/README.md
CHANGED
|
@@ -68,6 +68,42 @@ const factory = new OPSqliteOpenFactory({
|
|
|
68
68
|
});
|
|
69
69
|
```
|
|
70
70
|
|
|
71
|
+
### Loading SQLite extensions
|
|
72
|
+
|
|
73
|
+
To load additional SQLite extensions include the `extensions` option in `sqliteOptions` which expects an array of objects with a `path` and an `entryPoint`:
|
|
74
|
+
|
|
75
|
+
```js
|
|
76
|
+
sqliteOptions: {
|
|
77
|
+
extensions: [
|
|
78
|
+
{ path: libPath, entryPoint: 'sqlite3_powersync_init' }
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
More info can be found in the [OP-SQLite docs](https://op-engineering.github.io/op-sqlite/docs/api/#loading-extensions).
|
|
84
|
+
|
|
85
|
+
Example usage:
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
import { getDylibPath } from '@op-engineering/op-sqlite';
|
|
89
|
+
|
|
90
|
+
let libPath: string
|
|
91
|
+
if (Platform.OS === 'ios') {
|
|
92
|
+
libPath = getDylibPath('co.powersync.sqlitecore', 'powersync-sqlite-core')
|
|
93
|
+
} else {
|
|
94
|
+
libPath = 'libpowersync';
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const factory = new OPSqliteOpenFactory({
|
|
98
|
+
dbFilename: 'sqlite.db',
|
|
99
|
+
sqliteOptions: {
|
|
100
|
+
extensions: [
|
|
101
|
+
{ path: libPath, entryPoint: 'sqlite3_powersync_init' }
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
```
|
|
106
|
+
|
|
71
107
|
## Native Projects
|
|
72
108
|
|
|
73
109
|
This package uses native libraries. Create native Android and iOS projects (if not created already) by running:
|
package/android/build.gradle
CHANGED
|
@@ -107,7 +107,7 @@ repositories {
|
|
|
107
107
|
def kotlin_version = getExtOrDefault("kotlinVersion")
|
|
108
108
|
|
|
109
109
|
dependencies {
|
|
110
|
-
implementation 'co.powersync:powersync-sqlite-core:0.3.
|
|
110
|
+
implementation 'co.powersync:powersync-sqlite-core:0.3.8'
|
|
111
111
|
// For < 0.71, this will be from the local maven repo
|
|
112
112
|
// For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
|
|
113
113
|
//noinspection GradleDynamicVersion
|
|
@@ -9,20 +9,16 @@ import java.util.HashMap
|
|
|
9
9
|
|
|
10
10
|
class PowerSyncOpSqlitePackage : TurboReactPackage() {
|
|
11
11
|
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
|
|
12
|
-
return
|
|
13
|
-
PowerSyncOpSqliteModule(reactContext)
|
|
14
|
-
} else {
|
|
15
|
-
null
|
|
16
|
-
}
|
|
12
|
+
return null
|
|
17
13
|
}
|
|
18
14
|
|
|
19
15
|
override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
|
|
20
16
|
return ReactModuleInfoProvider {
|
|
21
17
|
val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
|
|
22
18
|
val isTurboModule: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
|
|
23
|
-
moduleInfos[
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
moduleInfos["PowerSyncOpSqlite"] = ReactModuleInfo(
|
|
20
|
+
"PowerSyncOpSqlite",
|
|
21
|
+
"PowerSyncOpSqlite",
|
|
26
22
|
false, // canOverrideExistingModule
|
|
27
23
|
false, // needsEagerInit
|
|
28
24
|
true, // hasConstants
|
package/ios/PowerSyncOpSqlite.mm
CHANGED
|
@@ -10,30 +10,53 @@ class OPSQLiteConnection extends _common.BaseObserver {
|
|
|
10
10
|
super();
|
|
11
11
|
this.options = options;
|
|
12
12
|
this.DB = options.baseDB;
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
this.updateBuffer = [];
|
|
14
|
+
this.DB.rollbackHook(() => {
|
|
15
|
+
this.updateBuffer = [];
|
|
16
|
+
});
|
|
15
17
|
this.DB.updateHook(update => {
|
|
16
|
-
this.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
18
|
+
this.addTableUpdate(update);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
addTableUpdate(update) {
|
|
22
|
+
let opType;
|
|
23
|
+
switch (update.operation) {
|
|
24
|
+
case 'INSERT':
|
|
25
|
+
opType = _common.RowUpdateType.SQLITE_INSERT;
|
|
26
|
+
break;
|
|
27
|
+
case 'DELETE':
|
|
28
|
+
opType = _common.RowUpdateType.SQLITE_DELETE;
|
|
29
|
+
break;
|
|
30
|
+
case 'UPDATE':
|
|
31
|
+
opType = _common.RowUpdateType.SQLITE_UPDATE;
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
this.updateBuffer.push({
|
|
35
|
+
table: update.table,
|
|
36
|
+
opType,
|
|
37
|
+
rowId: update.rowId
|
|
35
38
|
});
|
|
36
39
|
}
|
|
40
|
+
flushUpdates() {
|
|
41
|
+
if (!this.updateBuffer.length) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const groupedUpdates = this.updateBuffer.reduce((grouping, update) => {
|
|
45
|
+
const {
|
|
46
|
+
table
|
|
47
|
+
} = update;
|
|
48
|
+
const updateGroup = grouping[table] || (grouping[table] = []);
|
|
49
|
+
updateGroup.push(update);
|
|
50
|
+
return grouping;
|
|
51
|
+
}, {});
|
|
52
|
+
const batchedUpdate = {
|
|
53
|
+
groupedUpdates,
|
|
54
|
+
rawUpdates: this.updateBuffer,
|
|
55
|
+
tables: Object.keys(groupedUpdates)
|
|
56
|
+
};
|
|
57
|
+
this.updateBuffer = [];
|
|
58
|
+
this.iterateListeners(l => l.tablesUpdated?.(batchedUpdate));
|
|
59
|
+
}
|
|
37
60
|
close() {
|
|
38
61
|
return this.DB.close();
|
|
39
62
|
}
|
|
@@ -72,6 +95,9 @@ class OPSQLiteConnection extends _common.BaseObserver {
|
|
|
72
95
|
}
|
|
73
96
|
return result;
|
|
74
97
|
}
|
|
98
|
+
async refreshSchema() {
|
|
99
|
+
await this.get("PRAGMA table_info('sqlite_master')");
|
|
100
|
+
}
|
|
75
101
|
}
|
|
76
102
|
exports.OPSQLiteConnection = OPSQLiteConnection;
|
|
77
103
|
//# sourceMappingURL=OPSQLiteConnection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_common","require","OPSQLiteConnection","BaseObserver","constructor","options","DB","baseDB","
|
|
1
|
+
{"version":3,"names":["_common","require","OPSQLiteConnection","BaseObserver","constructor","options","DB","baseDB","updateBuffer","rollbackHook","updateHook","update","addTableUpdate","opType","operation","RowUpdateType","SQLITE_INSERT","SQLITE_DELETE","SQLITE_UPDATE","push","table","rowId","flushUpdates","length","groupedUpdates","reduce","grouping","updateGroup","batchedUpdate","rawUpdates","tables","Object","keys","iterateListeners","l","tablesUpdated","close","execute","query","params","res","insertId","rowsAffected","rows","_array","item","index","executeBatch","tuple","slice","forEach","p","result","getAll","sql","parameters","getOptional","get","Error","refreshSchema","exports"],"sourceRoot":"../../../src","sources":["db/OPSQLiteConnection.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -62,9 +62,7 @@ class OPSQLiteDBAdapter extends _common.BaseObserver {
|
|
|
62
62
|
});
|
|
63
63
|
this.readConnections = [];
|
|
64
64
|
for (let i = 0; i < READ_CONNECTIONS; i++) {
|
|
65
|
-
|
|
66
|
-
let dbName = './'.repeat(i + 1) + dbFilename;
|
|
67
|
-
const conn = await this.openConnection(dbName);
|
|
65
|
+
const conn = await this.openConnection(dbFilename);
|
|
68
66
|
await conn.execute('PRAGMA query_only = true');
|
|
69
67
|
this.readConnections.push({
|
|
70
68
|
busy: false,
|
|
@@ -76,8 +74,9 @@ class OPSQLiteDBAdapter extends _common.BaseObserver {
|
|
|
76
74
|
const dbFilename = filenameOverride ?? this.options.name;
|
|
77
75
|
const DB = this.openDatabase(dbFilename, this.options.sqliteOptions.encryptionKey);
|
|
78
76
|
|
|
79
|
-
//Load
|
|
80
|
-
this.
|
|
77
|
+
//Load extensions for all connections
|
|
78
|
+
this.loadAdditionalExtensions(DB);
|
|
79
|
+
this.loadPowerSyncExtension(DB);
|
|
81
80
|
await DB.execute('SELECT powersync_init()');
|
|
82
81
|
return new _OPSQLiteConnection.OPSQLiteConnection({
|
|
83
82
|
baseDB: DB
|
|
@@ -107,10 +106,16 @@ class OPSQLiteDBAdapter extends _common.BaseObserver {
|
|
|
107
106
|
});
|
|
108
107
|
}
|
|
109
108
|
}
|
|
110
|
-
|
|
109
|
+
loadAdditionalExtensions(DB) {
|
|
110
|
+
if (this.options.sqliteOptions.extensions.length > 0) {
|
|
111
|
+
for (const extension of this.options.sqliteOptions.extensions) {
|
|
112
|
+
DB.loadExtension(extension.path, extension.entryPoint);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async loadPowerSyncExtension(DB) {
|
|
111
117
|
if (_reactNative.Platform.OS === 'ios') {
|
|
112
|
-
const
|
|
113
|
-
const libPath = `${bundlePath}/Frameworks/powersync-sqlite-core.framework/powersync-sqlite-core`;
|
|
118
|
+
const libPath = (0, _opSqlite.getDylibPath)('co.powersync.sqlitecore', 'powersync-sqlite-core');
|
|
114
119
|
DB.loadExtension(libPath, 'sqlite3_powersync_init');
|
|
115
120
|
} else {
|
|
116
121
|
DB.loadExtension('libpowersync', 'sqlite3_powersync_init');
|
|
@@ -165,6 +170,9 @@ class OPSQLiteDBAdapter extends _common.BaseObserver {
|
|
|
165
170
|
resolve(await fn(this.writeConnection));
|
|
166
171
|
}, {
|
|
167
172
|
timeout: options?.timeoutMs
|
|
173
|
+
}).then(() => {
|
|
174
|
+
// flush updates once a write lock has been released
|
|
175
|
+
this.writeConnection.flushUpdates();
|
|
168
176
|
});
|
|
169
177
|
} catch (ex) {
|
|
170
178
|
reject(ex);
|
|
@@ -229,6 +237,13 @@ class OPSQLiteDBAdapter extends _common.BaseObserver {
|
|
|
229
237
|
throw ex;
|
|
230
238
|
}
|
|
231
239
|
}
|
|
240
|
+
async refreshSchema() {
|
|
241
|
+
await this.initialized;
|
|
242
|
+
await this.writeConnection.refreshSchema();
|
|
243
|
+
for (let readConnection of this.readConnections) {
|
|
244
|
+
await readConnection.connection.refreshSchema();
|
|
245
|
+
}
|
|
246
|
+
}
|
|
232
247
|
}
|
|
233
248
|
exports.OPSQLiteDBAdapter = OPSQLiteDBAdapter;
|
|
234
249
|
//# sourceMappingURL=OPSqliteAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_common","require","_opSqlite","_asyncLock","_interopRequireDefault","_OPSQLiteConnection","_reactNative","e","__esModule","default","LockType","READ_CONNECTIONS","OPSQLiteDBAdapter","BaseObserver","readQueue","constructor","options","name","locks","Lock","readConnections","writeConnection","initialized","init","lockTimeoutMs","journalMode","journalSizeLimit","synchronous","encryptionKey","sqliteOptions","dbFilename","openConnection","statements","statement","tries","execute","Error","message","includes","registerListener","tablesUpdated","notification","iterateListeners","cb","i","
|
|
1
|
+
{"version":3,"names":["_common","require","_opSqlite","_asyncLock","_interopRequireDefault","_OPSQLiteConnection","_reactNative","e","__esModule","default","LockType","READ_CONNECTIONS","OPSQLiteDBAdapter","BaseObserver","readQueue","constructor","options","name","locks","Lock","readConnections","writeConnection","initialized","init","lockTimeoutMs","journalMode","journalSizeLimit","synchronous","encryptionKey","sqliteOptions","dbFilename","openConnection","statements","statement","tries","execute","Error","message","includes","registerListener","tablesUpdated","notification","iterateListeners","cb","i","conn","push","busy","connection","filenameOverride","DB","openDatabase","loadAdditionalExtensions","loadPowerSyncExtension","OPSQLiteConnection","baseDB","getDbLocation","dbLocation","Platform","OS","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","location","open","extensions","length","extension","loadExtension","path","entryPoint","libPath","getDylibPath","close","then","forEach","c","readLock","fn","Promise","resolve","reject","availableConnection","find","error","processQueue","next","shift","writeLock","acquire","WRITE","timeout","timeoutMs","flushUpdates","ex","readTransaction","ctx","internalTransaction","writeTransaction","getAll","sql","parameters","getOptional","get","query","params","executeBatch","finalized","commit","rowsAffected","rollback","result","refreshSchema","readConnection","exports"],"sourceRoot":"../../../src","sources":["db/OPSqliteAdapter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -27,6 +27,7 @@ const DEFAULT_SQLITE_OPTIONS = exports.DEFAULT_SQLITE_OPTIONS = {
|
|
|
27
27
|
synchronous: SqliteSynchronous.normal,
|
|
28
28
|
journalSizeLimit: 6 * 1024 * 1024,
|
|
29
29
|
lockTimeoutMs: 30000,
|
|
30
|
-
encryptionKey: null
|
|
30
|
+
encryptionKey: null,
|
|
31
|
+
extensions: []
|
|
31
32
|
};
|
|
32
33
|
//# sourceMappingURL=SqliteOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SqliteJournalMode","SqliteSynchronous","DEFAULT_SQLITE_OPTIONS","exports","journalMode","wal","synchronous","normal","journalSizeLimit","lockTimeoutMs","encryptionKey"],"sourceRoot":"../../../src","sources":["db/SqliteOptions.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["SqliteJournalMode","SqliteSynchronous","DEFAULT_SQLITE_OPTIONS","exports","journalMode","wal","synchronous","normal","journalSizeLimit","lockTimeoutMs","encryptionKey","extensions"],"sourceRoot":"../../../src","sources":["db/SqliteOptions.ts"],"mappings":";;;;;;AA0CA;AACA;AACA;AAAA,IACKA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA,EAAjBA,iBAAiB,SAWtB;AAAA,IACKC,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA,EAAjBA,iBAAiB;AAMf,MAAMC,sBAA+C,GAAAC,OAAA,CAAAD,sBAAA,GAAG;EAC7DE,WAAW,EAAEJ,iBAAiB,CAACK,GAAG;EAClCC,WAAW,EAAEL,iBAAiB,CAACM,MAAM;EACrCC,gBAAgB,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;EACjCC,aAAa,EAAE,KAAK;EACpBC,aAAa,EAAE,IAAI;EACnBC,UAAU,EAAE;AACd,CAAC","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -15,21 +15,5 @@ Object.defineProperty(exports, "OPSqliteOpenFactory", {
|
|
|
15
15
|
return _OPSqliteDBOpenFactory.OPSqliteOpenFactory;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
-
exports.getBundlePath = getBundlePath;
|
|
19
|
-
var _reactNative = require("react-native");
|
|
20
18
|
var _OPSqliteDBOpenFactory = require("./db/OPSqliteDBOpenFactory.js");
|
|
21
|
-
const LINKING_ERROR = `The package '@powersync/op-sqlite' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
22
|
-
ios: "- You have run 'pod install'\n",
|
|
23
|
-
default: ''
|
|
24
|
-
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
25
|
-
const isTurboModuleEnabled = global.__turboModuleProxy != null;
|
|
26
|
-
const PowerSyncOpSqliteModule = isTurboModuleEnabled ? require('./NativePowerSyncOpSqlite').default : _reactNative.NativeModules.PowerSyncOpSqlite;
|
|
27
|
-
const PowerSyncOpSqlite = PowerSyncOpSqliteModule ? PowerSyncOpSqliteModule : new Proxy({}, {
|
|
28
|
-
get() {
|
|
29
|
-
throw new Error(LINKING_ERROR);
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
function getBundlePath() {
|
|
33
|
-
return PowerSyncOpSqlite.getBundlePath();
|
|
34
|
-
}
|
|
35
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_OPSqliteDBOpenFactory","require"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -6,30 +6,53 @@ export class OPSQLiteConnection extends BaseObserver {
|
|
|
6
6
|
super();
|
|
7
7
|
this.options = options;
|
|
8
8
|
this.DB = options.baseDB;
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
this.updateBuffer = [];
|
|
10
|
+
this.DB.rollbackHook(() => {
|
|
11
|
+
this.updateBuffer = [];
|
|
12
|
+
});
|
|
11
13
|
this.DB.updateHook(update => {
|
|
12
|
-
this.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
14
|
+
this.addTableUpdate(update);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
addTableUpdate(update) {
|
|
18
|
+
let opType;
|
|
19
|
+
switch (update.operation) {
|
|
20
|
+
case 'INSERT':
|
|
21
|
+
opType = RowUpdateType.SQLITE_INSERT;
|
|
22
|
+
break;
|
|
23
|
+
case 'DELETE':
|
|
24
|
+
opType = RowUpdateType.SQLITE_DELETE;
|
|
25
|
+
break;
|
|
26
|
+
case 'UPDATE':
|
|
27
|
+
opType = RowUpdateType.SQLITE_UPDATE;
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
this.updateBuffer.push({
|
|
31
|
+
table: update.table,
|
|
32
|
+
opType,
|
|
33
|
+
rowId: update.rowId
|
|
31
34
|
});
|
|
32
35
|
}
|
|
36
|
+
flushUpdates() {
|
|
37
|
+
if (!this.updateBuffer.length) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const groupedUpdates = this.updateBuffer.reduce((grouping, update) => {
|
|
41
|
+
const {
|
|
42
|
+
table
|
|
43
|
+
} = update;
|
|
44
|
+
const updateGroup = grouping[table] || (grouping[table] = []);
|
|
45
|
+
updateGroup.push(update);
|
|
46
|
+
return grouping;
|
|
47
|
+
}, {});
|
|
48
|
+
const batchedUpdate = {
|
|
49
|
+
groupedUpdates,
|
|
50
|
+
rawUpdates: this.updateBuffer,
|
|
51
|
+
tables: Object.keys(groupedUpdates)
|
|
52
|
+
};
|
|
53
|
+
this.updateBuffer = [];
|
|
54
|
+
this.iterateListeners(l => l.tablesUpdated?.(batchedUpdate));
|
|
55
|
+
}
|
|
33
56
|
close() {
|
|
34
57
|
return this.DB.close();
|
|
35
58
|
}
|
|
@@ -68,5 +91,8 @@ export class OPSQLiteConnection extends BaseObserver {
|
|
|
68
91
|
}
|
|
69
92
|
return result;
|
|
70
93
|
}
|
|
94
|
+
async refreshSchema() {
|
|
95
|
+
await this.get("PRAGMA table_info('sqlite_master')");
|
|
96
|
+
}
|
|
71
97
|
}
|
|
72
98
|
//# sourceMappingURL=OPSQLiteConnection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseObserver","RowUpdateType","OPSQLiteConnection","constructor","options","DB","baseDB","
|
|
1
|
+
{"version":3,"names":["BaseObserver","RowUpdateType","OPSQLiteConnection","constructor","options","DB","baseDB","updateBuffer","rollbackHook","updateHook","update","addTableUpdate","opType","operation","SQLITE_INSERT","SQLITE_DELETE","SQLITE_UPDATE","push","table","rowId","flushUpdates","length","groupedUpdates","reduce","grouping","updateGroup","batchedUpdate","rawUpdates","tables","Object","keys","iterateListeners","l","tablesUpdated","close","execute","query","params","res","insertId","rowsAffected","rows","_array","item","index","executeBatch","tuple","slice","forEach","p","result","getAll","sql","parameters","getOptional","get","Error","refreshSchema"],"sourceRoot":"../../../src","sources":["db/OPSQLiteConnection.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { BaseObserver } from '@powersync/common';
|
|
4
|
-
import { ANDROID_DATABASE_PATH, IOS_LIBRARY_PATH, open } from '@op-engineering/op-sqlite';
|
|
4
|
+
import { ANDROID_DATABASE_PATH, getDylibPath, IOS_LIBRARY_PATH, open } from '@op-engineering/op-sqlite';
|
|
5
5
|
import Lock from 'async-lock';
|
|
6
6
|
import { OPSQLiteConnection } from "./OPSQLiteConnection.js";
|
|
7
|
-
import {
|
|
7
|
+
import { Platform } from 'react-native';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Adapter for React Native Quick SQLite
|
|
@@ -58,9 +58,7 @@ export class OPSQLiteDBAdapter extends BaseObserver {
|
|
|
58
58
|
});
|
|
59
59
|
this.readConnections = [];
|
|
60
60
|
for (let i = 0; i < READ_CONNECTIONS; i++) {
|
|
61
|
-
|
|
62
|
-
let dbName = './'.repeat(i + 1) + dbFilename;
|
|
63
|
-
const conn = await this.openConnection(dbName);
|
|
61
|
+
const conn = await this.openConnection(dbFilename);
|
|
64
62
|
await conn.execute('PRAGMA query_only = true');
|
|
65
63
|
this.readConnections.push({
|
|
66
64
|
busy: false,
|
|
@@ -72,8 +70,9 @@ export class OPSQLiteDBAdapter extends BaseObserver {
|
|
|
72
70
|
const dbFilename = filenameOverride ?? this.options.name;
|
|
73
71
|
const DB = this.openDatabase(dbFilename, this.options.sqliteOptions.encryptionKey);
|
|
74
72
|
|
|
75
|
-
//Load
|
|
76
|
-
this.
|
|
73
|
+
//Load extensions for all connections
|
|
74
|
+
this.loadAdditionalExtensions(DB);
|
|
75
|
+
this.loadPowerSyncExtension(DB);
|
|
77
76
|
await DB.execute('SELECT powersync_init()');
|
|
78
77
|
return new OPSQLiteConnection({
|
|
79
78
|
baseDB: DB
|
|
@@ -103,10 +102,16 @@ export class OPSQLiteDBAdapter extends BaseObserver {
|
|
|
103
102
|
});
|
|
104
103
|
}
|
|
105
104
|
}
|
|
106
|
-
|
|
105
|
+
loadAdditionalExtensions(DB) {
|
|
106
|
+
if (this.options.sqliteOptions.extensions.length > 0) {
|
|
107
|
+
for (const extension of this.options.sqliteOptions.extensions) {
|
|
108
|
+
DB.loadExtension(extension.path, extension.entryPoint);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async loadPowerSyncExtension(DB) {
|
|
107
113
|
if (Platform.OS === 'ios') {
|
|
108
|
-
const
|
|
109
|
-
const libPath = `${bundlePath}/Frameworks/powersync-sqlite-core.framework/powersync-sqlite-core`;
|
|
114
|
+
const libPath = getDylibPath('co.powersync.sqlitecore', 'powersync-sqlite-core');
|
|
110
115
|
DB.loadExtension(libPath, 'sqlite3_powersync_init');
|
|
111
116
|
} else {
|
|
112
117
|
DB.loadExtension('libpowersync', 'sqlite3_powersync_init');
|
|
@@ -161,6 +166,9 @@ export class OPSQLiteDBAdapter extends BaseObserver {
|
|
|
161
166
|
resolve(await fn(this.writeConnection));
|
|
162
167
|
}, {
|
|
163
168
|
timeout: options?.timeoutMs
|
|
169
|
+
}).then(() => {
|
|
170
|
+
// flush updates once a write lock has been released
|
|
171
|
+
this.writeConnection.flushUpdates();
|
|
164
172
|
});
|
|
165
173
|
} catch (ex) {
|
|
166
174
|
reject(ex);
|
|
@@ -225,5 +233,12 @@ export class OPSQLiteDBAdapter extends BaseObserver {
|
|
|
225
233
|
throw ex;
|
|
226
234
|
}
|
|
227
235
|
}
|
|
236
|
+
async refreshSchema() {
|
|
237
|
+
await this.initialized;
|
|
238
|
+
await this.writeConnection.refreshSchema();
|
|
239
|
+
for (let readConnection of this.readConnections) {
|
|
240
|
+
await readConnection.connection.refreshSchema();
|
|
241
|
+
}
|
|
242
|
+
}
|
|
228
243
|
}
|
|
229
244
|
//# sourceMappingURL=OPSqliteAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseObserver","ANDROID_DATABASE_PATH","IOS_LIBRARY_PATH","open","Lock","OPSQLiteConnection","
|
|
1
|
+
{"version":3,"names":["BaseObserver","ANDROID_DATABASE_PATH","getDylibPath","IOS_LIBRARY_PATH","open","Lock","OPSQLiteConnection","Platform","LockType","READ_CONNECTIONS","OPSQLiteDBAdapter","readQueue","constructor","options","name","locks","readConnections","writeConnection","initialized","init","lockTimeoutMs","journalMode","journalSizeLimit","synchronous","encryptionKey","sqliteOptions","dbFilename","openConnection","statements","statement","tries","execute","e","Error","message","includes","registerListener","tablesUpdated","notification","iterateListeners","cb","i","conn","push","busy","connection","filenameOverride","DB","openDatabase","loadAdditionalExtensions","loadPowerSyncExtension","baseDB","getDbLocation","dbLocation","OS","location","extensions","length","extension","loadExtension","path","entryPoint","libPath","close","then","forEach","c","readLock","fn","Promise","resolve","reject","availableConnection","find","error","processQueue","next","shift","writeLock","acquire","WRITE","timeout","timeoutMs","flushUpdates","ex","readTransaction","ctx","internalTransaction","writeTransaction","getAll","sql","parameters","getOptional","get","query","params","executeBatch","finalized","commit","rowsAffected","rollback","result","refreshSchema","readConnection"],"sourceRoot":"../../../src","sources":["db/OPSqliteAdapter.ts"],"mappings":";;AAAA,SACEA,YAAY,QAMP,mBAAmB;AAC1B,SACEC,qBAAqB,EACrBC,YAAY,EACZC,gBAAgB,EAChBC,IAAI,QAEC,2BAA2B;AAClC,OAAOC,IAAI,MAAM,YAAY;AAC7B,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,QAAQ,QAAQ,cAAc;;AAGvC;AACA;AACA;AAFA,IASKC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA,EAARA,QAAQ;AAKb,MAAMC,gBAAgB,GAAG,CAAC;AAE1B,OAAO,MAAMC,iBAAiB,SAASV,YAAY,CAAyC;EAUlFW,SAAS,GAAsB,EAAE;EAEzCC,WAAWA,CAAWC,OAA+B,EAAE;IACrD,KAAK,CAAC,CAAC;IAAC,KADYA,OAA+B,GAA/BA,OAA+B;IAEnD,IAAI,CAACC,IAAI,GAAG,IAAI,CAACD,OAAO,CAACC,IAAI;IAE7B,IAAI,CAACC,KAAK,GAAG,IAAIV,IAAI,CAAC,CAAC;IACvB,IAAI,CAACW,eAAe,GAAG,IAAI;IAC3B,IAAI,CAACC,eAAe,GAAG,IAAI;IAC3B,IAAI,CAACC,WAAW,GAAG,IAAI,CAACC,IAAI,CAAC,CAAC;EAChC;EAEA,MAAgBA,IAAIA,CAAA,EAAG;IACrB,MAAM;MAAEC,aAAa;MAAEC,WAAW;MAAEC,gBAAgB;MAAEC,WAAW;MAAEC;IAAc,CAAC,GAAG,IAAI,CAACX,OAAO,CAACY,aAAa;IAC/G,MAAMC,UAAU,GAAG,IAAI,CAACb,OAAO,CAACC,IAAI;IAEpC,IAAI,CAACG,eAAe,GAAG,MAAM,IAAI,CAACU,cAAc,CAACD,UAAU,CAAC;IAE5D,MAAME,UAAoB,GAAG,CAC3B,yBAAyBR,aAAa,EAAE,EACxC,yBAAyBC,WAAW,EAAE,EACtC,+BAA+BC,gBAAgB,EAAE,EACjD,wBAAwBC,WAAW,EAAE,CACtC;IAED,KAAK,MAAMM,SAAS,IAAID,UAAU,EAAE;MAClC,KAAK,IAAIE,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,EAAE,EAAEA,KAAK,EAAE,EAAE;QACvC,IAAI;UACF,MAAM,IAAI,CAACb,eAAe,CAAEc,OAAO,CAACF,SAAS,CAAC;UAC9C;QACF,CAAC,CAAC,OAAOG,CAAM,EAAE;UACf,IAAIA,CAAC,YAAYC,KAAK,IAAID,CAAC,CAACE,OAAO,CAACC,QAAQ,CAAC,oBAAoB,CAAC,IAAIL,KAAK,GAAG,EAAE,EAAE;YAChF;UACF,CAAC,MAAM;YACL,MAAME,CAAC;UACT;QACF;MACF;IACF;;IAEA;IACA,IAAI,CAACf,eAAe,CAAEmB,gBAAgB,CAAC;MACrCC,aAAa,EAAGC,YAAY,IAAK,IAAI,CAACC,gBAAgB,CAAEC,EAAE,IAAKA,EAAE,CAACH,aAAa,GAAGC,YAAY,CAAC;IACjG,CAAC,CAAC;IAEF,IAAI,CAACtB,eAAe,GAAG,EAAE;IACzB,KAAK,IAAIyB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhC,gBAAgB,EAAEgC,CAAC,EAAE,EAAE;MACzC,MAAMC,IAAI,GAAG,MAAM,IAAI,CAACf,cAAc,CAACD,UAAU,CAAC;MAClD,MAAMgB,IAAI,CAACX,OAAO,CAAC,0BAA0B,CAAC;MAC9C,IAAI,CAACf,eAAe,CAAC2B,IAAI,CAAC;QAAEC,IAAI,EAAE,KAAK;QAAEC,UAAU,EAAEH;MAAK,CAAC,CAAC;IAC9D;EACF;EAEA,MAAgBf,cAAcA,CAACmB,gBAAyB,EAA+B;IACrF,MAAMpB,UAAU,GAAGoB,gBAAgB,IAAI,IAAI,CAACjC,OAAO,CAACC,IAAI;IACxD,MAAMiC,EAAM,GAAG,IAAI,CAACC,YAAY,CAACtB,UAAU,EAAE,IAAI,CAACb,OAAO,CAACY,aAAa,CAACD,aAAa,CAAC;;IAEtF;IACA,IAAI,CAACyB,wBAAwB,CAACF,EAAE,CAAC;IACjC,IAAI,CAACG,sBAAsB,CAACH,EAAE,CAAC;IAE/B,MAAMA,EAAE,CAAChB,OAAO,CAAC,yBAAyB,CAAC;IAE3C,OAAO,IAAIzB,kBAAkB,CAAC;MAC5B6C,MAAM,EAAEJ;IACV,CAAC,CAAC;EACJ;EAEQK,aAAaA,CAACC,UAAmB,EAAU;IACjD,IAAI9C,QAAQ,CAAC+C,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOD,UAAU,IAAIlD,gBAAgB;IACvC,CAAC,MAAM;MACL,OAAOkD,UAAU,IAAIpD,qBAAqB;IAC5C;EACF;EAEQ+C,YAAYA,CAACtB,UAAkB,EAAEF,aAAsB,EAAM;IACnE;IACA,MAAM+B,QAAQ,GAAG,IAAI,CAACH,aAAa,CAAC,IAAI,CAACvC,OAAO,CAACwC,UAAU,CAAC;IAC5D;IACA,IAAI7B,aAAa,EAAE;MACjB,OAAOpB,IAAI,CAAC;QACVU,IAAI,EAAEY,UAAU;QAChB6B,QAAQ,EAAEA,QAAQ;QAClB/B,aAAa,EAAEA;MACjB,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,OAAOpB,IAAI,CAAC;QACVU,IAAI,EAAEY,UAAU;QAChB6B,QAAQ,EAAEA;MACZ,CAAC,CAAC;IACJ;EACF;EAEQN,wBAAwBA,CAACF,EAAM,EAAE;IACvC,IAAI,IAAI,CAAClC,OAAO,CAACY,aAAa,CAAC+B,UAAU,CAACC,MAAM,GAAG,CAAC,EAAE;MACpD,KAAK,MAAMC,SAAS,IAAI,IAAI,CAAC7C,OAAO,CAACY,aAAa,CAAC+B,UAAU,EAAE;QAC7DT,EAAE,CAACY,aAAa,CAACD,SAAS,CAACE,IAAI,EAAEF,SAAS,CAACG,UAAU,CAAC;MACxD;IACF;EACF;EAEA,MAAcX,sBAAsBA,CAACH,EAAM,EAAE;IAC3C,IAAIxC,QAAQ,CAAC+C,EAAE,KAAK,KAAK,EAAE;MACzB,MAAMQ,OAAO,GAAG5D,YAAY,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;MAChF6C,EAAE,CAACY,aAAa,CAACG,OAAO,EAAE,wBAAwB,CAAC;IACrD,CAAC,MAAM;MACLf,EAAE,CAACY,aAAa,CAAC,cAAc,EAAE,wBAAwB,CAAC;IAC5D;EACF;EAEAI,KAAKA,CAAA,EAAG;IACN,IAAI,CAAC7C,WAAW,CAAC8C,IAAI,CAAC,MAAM;MAC1B,IAAI,CAAC/C,eAAe,CAAE8C,KAAK,CAAC,CAAC;MAC7B,IAAI,CAAC/C,eAAe,CAAEiD,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACrB,UAAU,CAACkB,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC;EACJ;EAEA,MAAMI,QAAQA,CAAIC,EAA0C,EAAEvD,OAAuB,EAAc;IACjG,MAAM,IAAI,CAACK,WAAW;IACtB,OAAO,IAAImD,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;MAC5C,MAAMxC,OAAO,GAAG,MAAAA,CAAA,KAAY;QAC1B;QACA,MAAMyC,mBAAmB,GAAG,IAAI,CAACxD,eAAe,CAAEyD,IAAI,CAAE/B,IAAI,IAAK,CAACA,IAAI,CAACE,IAAI,CAAC;;QAE5E;QACA,IAAI4B,mBAAmB,EAAE;UACvBA,mBAAmB,CAAC5B,IAAI,GAAG,IAAI;UAC/B,IAAI;YACF0B,OAAO,CAAC,MAAMF,EAAE,CAACI,mBAAmB,CAAC3B,UAAU,CAAC,CAAC;UACnD,CAAC,CAAC,OAAO6B,KAAK,EAAE;YACdH,MAAM,CAACG,KAAK,CAAC;UACf,CAAC,SAAS;YACRF,mBAAmB,CAAC5B,IAAI,GAAG,KAAK;YAChC;YACA,IAAI,CAAC+B,YAAY,CAAC,CAAC;UACrB;QACF,CAAC,MAAM;UACL;UACA,IAAI,CAAChE,SAAS,CAACgC,IAAI,CAACZ,OAAO,CAAC;QAC9B;MACF,CAAC;MAEDA,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;EACJ;EAEA,MAAc4C,YAAYA,CAAA,EAAkB;IAC1C,IAAI,IAAI,CAAChE,SAAS,CAAC8C,MAAM,GAAG,CAAC,EAAE;MAC7B,MAAMmB,IAAI,GAAG,IAAI,CAACjE,SAAS,CAACkE,KAAK,CAAC,CAAC;MACnC,IAAID,IAAI,EAAE;QACRA,IAAI,CAAC,CAAC;MACR;IACF;EACF;EAEA,MAAME,SAASA,CAAIV,EAA0C,EAAEvD,OAAuB,EAAc;IAClG,MAAM,IAAI,CAACK,WAAW;IAEtB,OAAO,IAAImD,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;MAC5C,IAAI;QACF,MAAM,IAAI,CAACxD,KAAK,CACbgE,OAAO,CACNvE,QAAQ,CAACwE,KAAK,EACd,YAAY;UACVV,OAAO,CAAC,MAAMF,EAAE,CAAC,IAAI,CAACnD,eAAgB,CAAC,CAAC;QAC1C,CAAC,EACD;UAAEgE,OAAO,EAAEpE,OAAO,EAAEqE;QAAU,CAChC,CAAC,CACAlB,IAAI,CAAC,MAAM;UACV;UACA,IAAI,CAAC/C,eAAe,CAAEkE,YAAY,CAAC,CAAC;QACtC,CAAC,CAAC;MACN,CAAC,CAAC,OAAOC,EAAE,EAAE;QACXb,MAAM,CAACa,EAAE,CAAC;MACZ;IACF,CAAC,CAAC;EACJ;EAEAC,eAAeA,CAAIjB,EAAmC,EAAEvD,OAAuB,EAAc;IAC3F,OAAO,IAAI,CAACsD,QAAQ,CAAEmB,GAAG,IAAK,IAAI,CAACC,mBAAmB,CAACD,GAAG,EAAElB,EAAE,CAAC,CAAC;EAClE;EAEAoB,gBAAgBA,CAAIpB,EAAmC,EAAEvD,OAAuB,EAAc;IAC5F,OAAO,IAAI,CAACiE,SAAS,CAAEQ,GAAG,IAAK,IAAI,CAACC,mBAAmB,CAACD,GAAG,EAAElB,EAAE,CAAC,CAAC;EACnE;EAEAqB,MAAMA,CAAIC,GAAW,EAAEC,UAAkB,EAAgB;IACvD,OAAO,IAAI,CAACxB,QAAQ,CAAEmB,GAAG,IAAKA,GAAG,CAACG,MAAM,CAACC,GAAG,EAAEC,UAAU,CAAC,CAAC;EAC5D;EAEAC,WAAWA,CAAIF,GAAW,EAAEC,UAAkB,EAAqB;IACjE,OAAO,IAAI,CAACxB,QAAQ,CAAEmB,GAAG,IAAKA,GAAG,CAACM,WAAW,CAACF,GAAG,EAAEC,UAAU,CAAC,CAAC;EACjE;EAEAE,GAAGA,CAAIH,GAAW,EAAEC,UAAkB,EAAc;IAClD,OAAO,IAAI,CAACxB,QAAQ,CAAEmB,GAAG,IAAKA,GAAG,CAACO,GAAG,CAACH,GAAG,EAAEC,UAAU,CAAC,CAAC;EACzD;EAEA5D,OAAOA,CAAC+D,KAAa,EAAEC,MAAc,EAAE;IACrC,OAAO,IAAI,CAACjB,SAAS,CAAEQ,GAAG,IAAKA,GAAG,CAACvD,OAAO,CAAC+D,KAAK,EAAEC,MAAM,CAAC,CAAC;EAC5D;EAEA,MAAMC,YAAYA,CAACF,KAAa,EAAEC,MAAe,GAAG,EAAE,EAAwB;IAC5E,OAAO,IAAI,CAACjB,SAAS,CAAEQ,GAAG,IAAKA,GAAG,CAACU,YAAY,CAACF,KAAK,EAAEC,MAAM,CAAC,CAAC;EACjE;EAEA,MAAgBR,mBAAmBA,CACjC1C,UAA8B,EAC9BuB,EAAmC,EACvB;IACZ,IAAI6B,SAAS,GAAG,KAAK;IACrB,MAAMC,MAAM,GAAG,MAAAA,CAAA,KAAkC;MAC/C,IAAID,SAAS,EAAE;QACb,OAAO;UAAEE,YAAY,EAAE;QAAE,CAAC;MAC5B;MACAF,SAAS,GAAG,IAAI;MAChB,OAAOpD,UAAU,CAACd,OAAO,CAAC,QAAQ,CAAC;IACrC,CAAC;IACD,MAAMqE,QAAQ,GAAG,MAAAA,CAAA,KAAkC;MACjD,IAAIH,SAAS,EAAE;QACb,OAAO;UAAEE,YAAY,EAAE;QAAE,CAAC;MAC5B;MACAF,SAAS,GAAG,IAAI;MAChB,OAAOpD,UAAU,CAACd,OAAO,CAAC,UAAU,CAAC;IACvC,CAAC;IACD,IAAI;MACF,MAAMc,UAAU,CAACd,OAAO,CAAC,OAAO,CAAC;MACjC,MAAMsE,MAAM,GAAG,MAAMjC,EAAE,CAAC;QACtBrC,OAAO,EAAEA,CAAC+D,KAAK,EAAEC,MAAM,KAAKlD,UAAU,CAACd,OAAO,CAAC+D,KAAK,EAAEC,MAAM,CAAC;QAC7DF,GAAG,EAAEA,CAACC,KAAK,EAAEC,MAAM,KAAKlD,UAAU,CAACgD,GAAG,CAACC,KAAK,EAAEC,MAAM,CAAC;QACrDN,MAAM,EAAEA,CAACK,KAAK,EAAEC,MAAM,KAAKlD,UAAU,CAAC4C,MAAM,CAACK,KAAK,EAAEC,MAAM,CAAC;QAC3DH,WAAW,EAAEA,CAACE,KAAK,EAAEC,MAAM,KAAKlD,UAAU,CAAC+C,WAAW,CAACE,KAAK,EAAEC,MAAM,CAAC;QACrEG,MAAM;QACNE;MACF,CAAC,CAAC;MACF,MAAMF,MAAM,CAAC,CAAC;MACd,OAAOG,MAAM;IACf,CAAC,CAAC,OAAOjB,EAAE,EAAE;MACX,MAAMgB,QAAQ,CAAC,CAAC;MAChB,MAAMhB,EAAE;IACV;EACF;EAEA,MAAMkB,aAAaA,CAAA,EAAkB;IACnC,MAAM,IAAI,CAACpF,WAAW;IACtB,MAAM,IAAI,CAACD,eAAe,CAAEqF,aAAa,CAAC,CAAC;IAE3C,KAAK,IAAIC,cAAc,IAAI,IAAI,CAACvF,eAAe,EAAE;MAC/C,MAAMuF,cAAc,CAAC1D,UAAU,CAACyD,aAAa,CAAC,CAAC;IACjD;EACF;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SqliteJournalMode","SqliteSynchronous","DEFAULT_SQLITE_OPTIONS","journalMode","wal","synchronous","normal","journalSizeLimit","lockTimeoutMs","encryptionKey"],"sourceRoot":"../../../src","sources":["db/SqliteOptions.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["SqliteJournalMode","SqliteSynchronous","DEFAULT_SQLITE_OPTIONS","journalMode","wal","synchronous","normal","journalSizeLimit","lockTimeoutMs","encryptionKey","extensions"],"sourceRoot":"../../../src","sources":["db/SqliteOptions.ts"],"mappings":";;AA0CA;AACA;AACA;AAAA,IACKA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA,EAAjBA,iBAAiB,SAWtB;AAAA,IACKC,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA,EAAjBA,iBAAiB;AAMtB,OAAO,MAAMC,sBAA+C,GAAG;EAC7DC,WAAW,EAAEH,iBAAiB,CAACI,GAAG;EAClCC,WAAW,EAAEJ,iBAAiB,CAACK,MAAM;EACrCC,gBAAgB,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;EACjCC,aAAa,EAAE,KAAK;EACpBC,aAAa,EAAE,IAAI;EACnBC,UAAU,EAAE;AACd,CAAC","ignoreList":[]}
|