@powersync/op-sqlite 0.0.0-dev-20260128170935 → 0.0.0-dev-20260202160933

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.
Files changed (47) hide show
  1. package/package.json +4 -5
  2. package/powersync-op-sqlite.podspec +1 -0
  3. package/src/db/OPSqliteAdapter.ts +33 -34
  4. package/lib/commonjs/db/OPSQLiteConnection.js +0 -106
  5. package/lib/commonjs/db/OPSQLiteConnection.js.map +0 -1
  6. package/lib/commonjs/db/OPSqliteAdapter.js +0 -271
  7. package/lib/commonjs/db/OPSqliteAdapter.js.map +0 -1
  8. package/lib/commonjs/db/OPSqliteDBOpenFactory.js +0 -26
  9. package/lib/commonjs/db/OPSqliteDBOpenFactory.js.map +0 -1
  10. package/lib/commonjs/db/SqliteOptions.js +0 -41
  11. package/lib/commonjs/db/SqliteOptions.js.map +0 -1
  12. package/lib/commonjs/index.js +0 -19
  13. package/lib/commonjs/index.js.map +0 -1
  14. package/lib/commonjs/package.json +0 -1
  15. package/lib/module/db/OPSQLiteConnection.js +0 -101
  16. package/lib/module/db/OPSQLiteConnection.js.map +0 -1
  17. package/lib/module/db/OPSqliteAdapter.js +0 -266
  18. package/lib/module/db/OPSqliteAdapter.js.map +0 -1
  19. package/lib/module/db/OPSqliteDBOpenFactory.js +0 -21
  20. package/lib/module/db/OPSqliteDBOpenFactory.js.map +0 -1
  21. package/lib/module/db/SqliteOptions.js +0 -39
  22. package/lib/module/db/SqliteOptions.js.map +0 -1
  23. package/lib/module/index.js +0 -4
  24. package/lib/module/index.js.map +0 -1
  25. package/lib/module/package.json +0 -1
  26. package/lib/typescript/commonjs/package.json +0 -1
  27. package/lib/typescript/commonjs/src/db/OPSQLiteConnection.d.ts +0 -28
  28. package/lib/typescript/commonjs/src/db/OPSQLiteConnection.d.ts.map +0 -1
  29. package/lib/typescript/commonjs/src/db/OPSqliteAdapter.d.ts +0 -46
  30. package/lib/typescript/commonjs/src/db/OPSqliteAdapter.d.ts.map +0 -1
  31. package/lib/typescript/commonjs/src/db/OPSqliteDBOpenFactory.d.ts +0 -12
  32. package/lib/typescript/commonjs/src/db/OPSqliteDBOpenFactory.d.ts.map +0 -1
  33. package/lib/typescript/commonjs/src/db/SqliteOptions.d.ts +0 -69
  34. package/lib/typescript/commonjs/src/db/SqliteOptions.d.ts.map +0 -1
  35. package/lib/typescript/commonjs/src/index.d.ts +0 -2
  36. package/lib/typescript/commonjs/src/index.d.ts.map +0 -1
  37. package/lib/typescript/module/package.json +0 -1
  38. package/lib/typescript/module/src/db/OPSQLiteConnection.d.ts +0 -28
  39. package/lib/typescript/module/src/db/OPSQLiteConnection.d.ts.map +0 -1
  40. package/lib/typescript/module/src/db/OPSqliteAdapter.d.ts +0 -46
  41. package/lib/typescript/module/src/db/OPSqliteAdapter.d.ts.map +0 -1
  42. package/lib/typescript/module/src/db/OPSqliteDBOpenFactory.d.ts +0 -12
  43. package/lib/typescript/module/src/db/OPSqliteDBOpenFactory.d.ts.map +0 -1
  44. package/lib/typescript/module/src/db/SqliteOptions.d.ts +0 -69
  45. package/lib/typescript/module/src/db/SqliteOptions.d.ts.map +0 -1
  46. package/lib/typescript/module/src/index.d.ts +0 -2
  47. package/lib/typescript/module/src/index.d.ts.map +0 -1
@@ -1,101 +0,0 @@
1
- "use strict";
2
-
3
- import { BaseObserver, RowUpdateType } from '@powersync/common';
4
- export class OPSQLiteConnection extends BaseObserver {
5
- constructor(options) {
6
- super();
7
- this.options = options;
8
- this.DB = options.baseDB;
9
- this.updateBuffer = [];
10
- this.DB.rollbackHook(() => {
11
- this.updateBuffer = [];
12
- });
13
- this.DB.updateHook(update => {
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
34
- });
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
- }
56
- close() {
57
- return this.DB.close();
58
- }
59
- async execute(query, params) {
60
- const res = await this.DB.execute(query, params);
61
- return {
62
- insertId: res.insertId,
63
- rowsAffected: res.rowsAffected,
64
- rows: {
65
- _array: res.rows ?? [],
66
- length: res.rows?.length ?? 0,
67
- item: index => res.rows?.[index]
68
- }
69
- };
70
- }
71
- async executeRaw(query, params) {
72
- return await this.DB.executeRaw(query, params);
73
- }
74
- async executeBatch(query, params = []) {
75
- const tuple = [[query, params[0]]];
76
- params.slice(1).forEach(p => tuple.push([query, p]));
77
- const result = await this.DB.executeBatch(tuple);
78
- return {
79
- rowsAffected: result.rowsAffected ?? 0
80
- };
81
- }
82
- async getAll(sql, parameters) {
83
- const result = await this.DB.execute(sql, parameters);
84
- return result.rows ?? [];
85
- }
86
- async getOptional(sql, parameters) {
87
- const result = await this.DB.execute(sql, parameters);
88
- return result.rows?.[0] ?? null;
89
- }
90
- async get(sql, parameters) {
91
- const result = await this.getOptional(sql, parameters);
92
- if (!result) {
93
- throw new Error('Result set is empty');
94
- }
95
- return result;
96
- }
97
- async refreshSchema() {
98
- await this.get("PRAGMA table_info('sqlite_master')");
99
- }
100
- }
101
- //# sourceMappingURL=OPSQLiteConnection.js.map
@@ -1 +0,0 @@
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","executeRaw","executeBatch","tuple","slice","forEach","p","result","getAll","sql","parameters","getOptional","get","Error","refreshSchema"],"sourceRoot":"../../../src","sources":["db/OPSQLiteConnection.ts"],"mappings":";;AACA,SACEA,YAAY,EAIZC,aAAa,QAER,mBAAmB;AAa1B,OAAO,MAAMC,kBAAkB,SAASF,YAAY,CAAoB;EAItEG,WAAWA,CAAWC,OAAkC,EAAE;IACxD,KAAK,CAAC,CAAC;IAAC,KADYA,OAAkC,GAAlCA,OAAkC;IAEtD,IAAI,CAACC,EAAE,GAAGD,OAAO,CAACE,MAAM;IACxB,IAAI,CAACC,YAAY,GAAG,EAAE;IAEtB,IAAI,CAACF,EAAE,CAACG,YAAY,CAAC,MAAM;MACzB,IAAI,CAACD,YAAY,GAAG,EAAE;IACxB,CAAC,CAAC;IAEF,IAAI,CAACF,EAAE,CAACI,UAAU,CAAEC,MAAM,IAAK;MAC7B,IAAI,CAACC,cAAc,CAACD,MAAM,CAAC;IAC7B,CAAC,CAAC;EACJ;EAEAC,cAAcA,CAACD,MAAkC,EAAE;IACjD,IAAIE,MAAqB;IACzB,QAAQF,MAAM,CAACG,SAAS;MACtB,KAAK,QAAQ;QACXD,MAAM,GAAGX,aAAa,CAACa,aAAa;QACpC;MACF,KAAK,QAAQ;QACXF,MAAM,GAAGX,aAAa,CAACc,aAAa;QACpC;MACF,KAAK,QAAQ;QACXH,MAAM,GAAGX,aAAa,CAACe,aAAa;QACpC;IACJ;IAEA,IAAI,CAACT,YAAY,CAACU,IAAI,CAAC;MACrBC,KAAK,EAAER,MAAM,CAACQ,KAAK;MACnBN,MAAM;MACNO,KAAK,EAAET,MAAM,CAACS;IAChB,CAAC,CAAC;EACJ;EAEAC,YAAYA,CAAA,EAAG;IACb,IAAI,CAAC,IAAI,CAACb,YAAY,CAACc,MAAM,EAAE;MAC7B;IACF;IAEA,MAAMC,cAAc,GAAG,IAAI,CAACf,YAAY,CAACgB,MAAM,CAAC,CAACC,QAA8C,EAAEd,MAAM,KAAK;MAC1G,MAAM;QAAEQ;MAAM,CAAC,GAAGR,MAAM;MACxB,MAAMe,WAAW,GAAGD,QAAQ,CAACN,KAAK,CAAC,KAAKM,QAAQ,CAACN,KAAK,CAAC,GAAG,EAAE,CAAC;MAC7DO,WAAW,CAACR,IAAI,CAACP,MAAM,CAAC;MACxB,OAAOc,QAAQ;IACjB,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,MAAME,aAAwC,GAAG;MAC/CJ,cAAc;MACdK,UAAU,EAAE,IAAI,CAACpB,YAAY;MAC7BqB,MAAM,EAAEC,MAAM,CAACC,IAAI,CAACR,cAAc;IACpC,CAAC;IAED,IAAI,CAACf,YAAY,GAAG,EAAE;IACtB,IAAI,CAACwB,gBAAgB,CAAEC,CAAC,IAAKA,CAAC,CAACC,aAAa,GAAGP,aAAa,CAAC,CAAC;EAChE;EAEAQ,KAAKA,CAAA,EAAG;IACN,OAAO,IAAI,CAAC7B,EAAE,CAAC6B,KAAK,CAAC,CAAC;EACxB;EAEA,MAAMC,OAAOA,CAACC,KAAa,EAAEC,MAAc,EAAwB;IACjE,MAAMC,GAAG,GAAG,MAAM,IAAI,CAACjC,EAAE,CAAC8B,OAAO,CAACC,KAAK,EAAEC,MAAM,CAAC;IAChD,OAAO;MACLE,QAAQ,EAAED,GAAG,CAACC,QAAQ;MACtBC,YAAY,EAAEF,GAAG,CAACE,YAAY;MAC9BC,IAAI,EAAE;QACJC,MAAM,EAAEJ,GAAG,CAACG,IAAI,IAAI,EAAE;QACtBpB,MAAM,EAAEiB,GAAG,CAACG,IAAI,EAAEpB,MAAM,IAAI,CAAC;QAC7BsB,IAAI,EAAGC,KAAa,IAAKN,GAAG,CAACG,IAAI,GAAGG,KAAK;MAC3C;IACF,CAAC;EACH;EAEA,MAAMC,UAAUA,CAACT,KAAa,EAAEC,MAAc,EAAoB;IAChE,OAAO,MAAM,IAAI,CAAChC,EAAE,CAACwC,UAAU,CAACT,KAAK,EAAEC,MAAM,CAAC;EAChD;EAEA,MAAMS,YAAYA,CAACV,KAAa,EAAEC,MAAe,GAAG,EAAE,EAAwB;IAC5E,MAAMU,KAAsB,GAAG,CAAC,CAACX,KAAK,EAAEC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnDA,MAAM,CAACW,KAAK,CAAC,CAAC,CAAC,CAACC,OAAO,CAAEC,CAAC,IAAKH,KAAK,CAAC9B,IAAI,CAAC,CAACmB,KAAK,EAAEc,CAAC,CAAC,CAAC,CAAC;IAEtD,MAAMC,MAAM,GAAG,MAAM,IAAI,CAAC9C,EAAE,CAACyC,YAAY,CAACC,KAAK,CAAC;IAChD,OAAO;MACLP,YAAY,EAAEW,MAAM,CAACX,YAAY,IAAI;IACvC,CAAC;EACH;EAEA,MAAMY,MAAMA,CAAIC,GAAW,EAAEC,UAAkB,EAAgB;IAC7D,MAAMH,MAAM,GAAG,MAAM,IAAI,CAAC9C,EAAE,CAAC8B,OAAO,CAACkB,GAAG,EAAEC,UAAU,CAAC;IACrD,OAAQH,MAAM,CAACV,IAAI,IAAI,EAAE;EAC3B;EAEA,MAAMc,WAAWA,CAAIF,GAAW,EAAEC,UAAkB,EAAqB;IACvE,MAAMH,MAAM,GAAG,MAAM,IAAI,CAAC9C,EAAE,CAAC8B,OAAO,CAACkB,GAAG,EAAEC,UAAU,CAAC;IACrD,OAAQH,MAAM,CAACV,IAAI,GAAG,CAAC,CAAC,IAAU,IAAI;EACxC;EAEA,MAAMe,GAAGA,CAAIH,GAAW,EAAEC,UAAkB,EAAc;IACxD,MAAMH,MAAM,GAAG,MAAM,IAAI,CAACI,WAAW,CAACF,GAAG,EAAEC,UAAU,CAAC;IACtD,IAAI,CAACH,MAAM,EAAE;MACX,MAAM,IAAIM,KAAK,CAAC,qBAAqB,CAAC;IACxC;IACA,OAAON,MAAM;EACf;EAEA,MAAMO,aAAaA,CAAA,EAAG;IACpB,MAAM,IAAI,CAACF,GAAG,CAAC,oCAAoC,CAAC;EACtD;AACF","ignoreList":[]}
@@ -1,266 +0,0 @@
1
- "use strict";
2
-
3
- import { getDylibPath, open } from '@op-engineering/op-sqlite';
4
- import { BaseObserver } from '@powersync/common';
5
- import Lock from 'async-lock';
6
- import { Platform } from 'react-native';
7
- import { OPSQLiteConnection } from "./OPSQLiteConnection.js";
8
-
9
- /**
10
- * Adapter for React Native Quick SQLite
11
- */
12
- var LockType = /*#__PURE__*/function (LockType) {
13
- LockType["READ"] = "read";
14
- LockType["WRITE"] = "write";
15
- return LockType;
16
- }(LockType || {});
17
- const READ_CONNECTIONS = 5;
18
- export class OPSQLiteDBAdapter extends BaseObserver {
19
- readQueue = [];
20
- constructor(options) {
21
- super();
22
- this.options = options;
23
- this.name = this.options.name;
24
- this.locks = new Lock({
25
- maxPending: Infinity
26
- });
27
- this.readConnections = null;
28
- this.writeConnection = null;
29
- this.abortController = new AbortController();
30
- this.initialized = this.init();
31
- }
32
- async init() {
33
- const {
34
- lockTimeoutMs,
35
- journalMode,
36
- journalSizeLimit,
37
- synchronous,
38
- cacheSizeKb,
39
- temporaryStorage
40
- } = this.options.sqliteOptions;
41
- const dbFilename = this.options.name;
42
- this.writeConnection = await this.openConnection(dbFilename);
43
- const baseStatements = [`PRAGMA busy_timeout = ${lockTimeoutMs}`, `PRAGMA cache_size = -${cacheSizeKb}`, `PRAGMA temp_store = ${temporaryStorage}`];
44
- const writeConnectionStatements = [...baseStatements, `PRAGMA journal_mode = ${journalMode}`, `PRAGMA journal_size_limit = ${journalSizeLimit}`, `PRAGMA synchronous = ${synchronous}`];
45
- const readConnectionStatements = [...baseStatements, 'PRAGMA query_only = true'];
46
- for (const statement of writeConnectionStatements) {
47
- for (let tries = 0; tries < 30; tries++) {
48
- try {
49
- await this.writeConnection.execute(statement);
50
- break;
51
- } catch (e) {
52
- if (e instanceof Error && e.message.includes('database is locked') && tries < 29) {
53
- continue;
54
- } else {
55
- throw e;
56
- }
57
- }
58
- }
59
- }
60
-
61
- // Changes should only occur in the write connection
62
- this.writeConnection.registerListener({
63
- tablesUpdated: notification => this.iterateListeners(cb => cb.tablesUpdated?.(notification))
64
- });
65
- this.readConnections = [];
66
- for (let i = 0; i < READ_CONNECTIONS; i++) {
67
- const conn = await this.openConnection(dbFilename);
68
- for (let statement of readConnectionStatements) {
69
- await conn.execute(statement);
70
- }
71
- this.readConnections.push({
72
- busy: false,
73
- connection: conn
74
- });
75
- }
76
- }
77
- async openConnection(filenameOverride) {
78
- const dbFilename = filenameOverride ?? this.options.name;
79
- const DB = this.openDatabase(dbFilename, this.options.sqliteOptions?.encryptionKey ?? undefined);
80
-
81
- //Load extensions for all connections
82
- this.loadAdditionalExtensions(DB);
83
- this.loadPowerSyncExtension(DB);
84
- await DB.execute('SELECT powersync_init()');
85
- return new OPSQLiteConnection({
86
- baseDB: DB
87
- });
88
- }
89
- openDatabase(dbFilename, encryptionKey) {
90
- const openOptions = {
91
- name: dbFilename
92
- };
93
- if (this.options.dbLocation) {
94
- openOptions.location = this.options.dbLocation;
95
- }
96
-
97
- // If the encryption key is undefined/null when using SQLCipher it will cause the open function to fail
98
- if (encryptionKey) {
99
- openOptions.encryptionKey = encryptionKey;
100
- }
101
- return open(openOptions);
102
- }
103
- loadAdditionalExtensions(DB) {
104
- if (this.options.sqliteOptions?.extensions && this.options.sqliteOptions.extensions.length > 0) {
105
- for (const extension of this.options.sqliteOptions.extensions) {
106
- DB.loadExtension(extension.path, extension.entryPoint);
107
- }
108
- }
109
- }
110
- async loadPowerSyncExtension(DB) {
111
- if (Platform.OS === 'ios') {
112
- const libPath = getDylibPath('co.powersync.sqlitecore', 'powersync-sqlite-core');
113
- DB.loadExtension(libPath, 'sqlite3_powersync_init');
114
- } else {
115
- DB.loadExtension('libpowersync', 'sqlite3_powersync_init');
116
- }
117
- }
118
- async close() {
119
- await this.initialized;
120
- // Abort any pending operations
121
- this.abortController.abort();
122
- this.readQueue = [];
123
- this.writeConnection.close();
124
- this.readConnections.forEach(c => c.connection.close());
125
- }
126
- async readLock(fn, options) {
127
- await this.initialized;
128
- return new Promise(async (resolve, reject) => {
129
- const execute = async () => {
130
- // Find an available connection that is not busy
131
- const availableConnection = this.readConnections.find(conn => !conn.busy);
132
-
133
- // If we have an available connection, use it
134
- if (availableConnection) {
135
- availableConnection.busy = true;
136
- try {
137
- resolve(await fn(availableConnection.connection));
138
- } catch (error) {
139
- reject(error);
140
- } finally {
141
- availableConnection.busy = false;
142
- // After query execution, process any queued tasks
143
- this.processQueue();
144
- }
145
- } else {
146
- // If no available connections, add to the queue
147
- this.readQueue.push(execute);
148
- }
149
- };
150
- execute();
151
- });
152
- }
153
- async processQueue() {
154
- if (this.readQueue.length > 0) {
155
- const next = this.readQueue.shift();
156
- if (next) {
157
- next();
158
- }
159
- }
160
- }
161
- async writeLock(fn, options) {
162
- await this.initialized;
163
- return new Promise(async (resolve, reject) => {
164
- try {
165
- // Set up abort signal listener
166
- const abortListener = () => {
167
- reject(new Error('Database connection was closed'));
168
- };
169
- this.abortController.signal.addEventListener('abort', abortListener);
170
- await this.locks.acquire(LockType.WRITE, async () => {
171
- // Check if operation was aborted before executing
172
- if (this.abortController.signal.aborted) {
173
- reject(new Error('Database connection was closed'));
174
- }
175
- resolve(await fn(this.writeConnection));
176
- }, {
177
- timeout: options?.timeoutMs
178
- }).then(() => {
179
- // flush updates once a write lock has been released
180
- this.writeConnection.flushUpdates();
181
- }).finally(() => {
182
- this.abortController.signal.removeEventListener('abort', abortListener);
183
- });
184
- } catch (ex) {
185
- reject(ex);
186
- }
187
- });
188
- }
189
- readTransaction(fn, options) {
190
- return this.readLock(ctx => this.internalTransaction(ctx, fn));
191
- }
192
- writeTransaction(fn, options) {
193
- return this.writeLock(ctx => this.internalTransaction(ctx, fn));
194
- }
195
- getAll(sql, parameters) {
196
- return this.readLock(ctx => ctx.getAll(sql, parameters));
197
- }
198
- getOptional(sql, parameters) {
199
- return this.readLock(ctx => ctx.getOptional(sql, parameters));
200
- }
201
- get(sql, parameters) {
202
- return this.readLock(ctx => ctx.get(sql, parameters));
203
- }
204
- execute(query, params) {
205
- return this.writeLock(ctx => ctx.execute(query, params));
206
- }
207
- executeRaw(query, params) {
208
- return this.writeLock(ctx => ctx.executeRaw(query, params));
209
- }
210
- async executeBatch(query, params = []) {
211
- return this.writeLock(ctx => ctx.executeBatch(query, params));
212
- }
213
- async internalTransaction(connection, fn) {
214
- let finalized = false;
215
- const commit = async () => {
216
- if (finalized) {
217
- return {
218
- rowsAffected: 0
219
- };
220
- }
221
- finalized = true;
222
- return connection.execute('COMMIT');
223
- };
224
- const rollback = async () => {
225
- if (finalized) {
226
- return {
227
- rowsAffected: 0
228
- };
229
- }
230
- finalized = true;
231
- return connection.execute('ROLLBACK');
232
- };
233
- try {
234
- await connection.execute('BEGIN');
235
- const result = await fn({
236
- execute: (query, params) => connection.execute(query, params),
237
- executeRaw: (query, params) => connection.executeRaw(query, params),
238
- get: (query, params) => connection.get(query, params),
239
- getAll: (query, params) => connection.getAll(query, params),
240
- getOptional: (query, params) => connection.getOptional(query, params),
241
- commit,
242
- rollback
243
- });
244
- await commit();
245
- return result;
246
- } catch (ex) {
247
- try {
248
- await rollback();
249
- } catch (ex2) {
250
- // In rare cases, a rollback may fail.
251
- // Safe to ignore.
252
- }
253
- throw ex;
254
- }
255
- }
256
- async refreshSchema() {
257
- await this.initialized;
258
- await this.writeConnection.refreshSchema();
259
- if (this.readConnections) {
260
- for (let readConnection of this.readConnections) {
261
- await readConnection.connection.refreshSchema();
262
- }
263
- }
264
- }
265
- }
266
- //# sourceMappingURL=OPSqliteAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getDylibPath","open","BaseObserver","Lock","Platform","OPSQLiteConnection","LockType","READ_CONNECTIONS","OPSQLiteDBAdapter","readQueue","constructor","options","name","locks","maxPending","Infinity","readConnections","writeConnection","abortController","AbortController","initialized","init","lockTimeoutMs","journalMode","journalSizeLimit","synchronous","cacheSizeKb","temporaryStorage","sqliteOptions","dbFilename","openConnection","baseStatements","writeConnectionStatements","readConnectionStatements","statement","tries","execute","e","Error","message","includes","registerListener","tablesUpdated","notification","iterateListeners","cb","i","conn","push","busy","connection","filenameOverride","DB","openDatabase","encryptionKey","undefined","loadAdditionalExtensions","loadPowerSyncExtension","baseDB","openOptions","dbLocation","location","extensions","length","extension","loadExtension","path","entryPoint","OS","libPath","close","abort","forEach","c","readLock","fn","Promise","resolve","reject","availableConnection","find","error","processQueue","next","shift","writeLock","abortListener","signal","addEventListener","acquire","WRITE","aborted","timeout","timeoutMs","then","flushUpdates","finally","removeEventListener","ex","readTransaction","ctx","internalTransaction","writeTransaction","getAll","sql","parameters","getOptional","get","query","params","executeRaw","executeBatch","finalized","commit","rowsAffected","rollback","result","ex2","refreshSchema","readConnection"],"sourceRoot":"../../../src","sources":["db/OPSqliteAdapter.ts"],"mappings":"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","ignoreList":[]}
@@ -1,21 +0,0 @@
1
- "use strict";
2
-
3
- import { OPSQLiteDBAdapter } from "./OPSqliteAdapter.js";
4
- import { DEFAULT_SQLITE_OPTIONS } from "./SqliteOptions.js";
5
- export class OPSqliteOpenFactory {
6
- constructor(options) {
7
- this.options = options;
8
- this.sqliteOptions = {
9
- ...DEFAULT_SQLITE_OPTIONS,
10
- ...this.options.sqliteOptions
11
- };
12
- }
13
- openDB() {
14
- return new OPSQLiteDBAdapter({
15
- name: this.options.dbFilename,
16
- dbLocation: this.options.dbLocation,
17
- sqliteOptions: this.sqliteOptions
18
- });
19
- }
20
- }
21
- //# sourceMappingURL=OPSqliteDBOpenFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["OPSQLiteDBAdapter","DEFAULT_SQLITE_OPTIONS","OPSqliteOpenFactory","constructor","options","sqliteOptions","openDB","name","dbFilename","dbLocation"],"sourceRoot":"../../../src","sources":["db/OPSqliteDBOpenFactory.ts"],"mappings":";;AACA,SAASA,iBAAiB,QAAQ,sBAAmB;AACrD,SAASC,sBAAsB,QAAuB,oBAAiB;AAKvE,OAAO,MAAMC,mBAAmB,CAA2B;EAGzDC,WAAWA,CAAWC,OAAmC,EAAE;IAAA,KAArCA,OAAmC,GAAnCA,OAAmC;IACvD,IAAI,CAACC,aAAa,GAAG;MACnB,GAAGJ,sBAAsB;MACzB,GAAG,IAAI,CAACG,OAAO,CAACC;IAClB,CAAC;EACH;EAEAC,MAAMA,CAAA,EAAc;IAClB,OAAO,IAAIN,iBAAiB,CAAC;MAC3BO,IAAI,EAAE,IAAI,CAACH,OAAO,CAACI,UAAU;MAC7BC,UAAU,EAAE,IAAI,CAACL,OAAO,CAACK,UAAU;MACnCJ,aAAa,EAAE,IAAI,CAACA;IACtB,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- export let TemporaryStorageOption = /*#__PURE__*/function (TemporaryStorageOption) {
4
- TemporaryStorageOption["MEMORY"] = "memory";
5
- TemporaryStorageOption["FILESYSTEM"] = "file";
6
- return TemporaryStorageOption;
7
- }({});
8
-
9
- // SQLite journal mode. Set on the primary connection.
10
- // This library is written with WAL mode in mind - other modes may cause
11
- // unexpected locking behavior.
12
- var SqliteJournalMode = /*#__PURE__*/function (SqliteJournalMode) {
13
- // Use a write-ahead log instead of a rollback journal.
14
- // This provides good performance and concurrency.
15
- SqliteJournalMode["wal"] = "WAL";
16
- SqliteJournalMode["delete"] = "DELETE";
17
- SqliteJournalMode["truncate"] = "TRUNCATE";
18
- SqliteJournalMode["persist"] = "PERSIST";
19
- SqliteJournalMode["memory"] = "MEMORY";
20
- SqliteJournalMode["off"] = "OFF";
21
- return SqliteJournalMode;
22
- }(SqliteJournalMode || {}); // SQLite file commit mode.
23
- var SqliteSynchronous = /*#__PURE__*/function (SqliteSynchronous) {
24
- SqliteSynchronous["normal"] = "NORMAL";
25
- SqliteSynchronous["full"] = "FULL";
26
- SqliteSynchronous["off"] = "OFF";
27
- return SqliteSynchronous;
28
- }(SqliteSynchronous || {});
29
- export const DEFAULT_SQLITE_OPTIONS = {
30
- journalMode: SqliteJournalMode.wal,
31
- synchronous: SqliteSynchronous.normal,
32
- journalSizeLimit: 6 * 1024 * 1024,
33
- cacheSizeKb: 50 * 1024,
34
- temporaryStorage: TemporaryStorageOption.MEMORY,
35
- lockTimeoutMs: 30000,
36
- encryptionKey: null,
37
- extensions: []
38
- };
39
- //# sourceMappingURL=SqliteOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["TemporaryStorageOption","SqliteJournalMode","SqliteSynchronous","DEFAULT_SQLITE_OPTIONS","journalMode","wal","synchronous","normal","journalSizeLimit","cacheSizeKb","temporaryStorage","MEMORY","lockTimeoutMs","encryptionKey","extensions"],"sourceRoot":"../../../src","sources":["db/SqliteOptions.ts"],"mappings":";;AAyDA,WAAYA,sBAAsB,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA;;AAKlC;AACA;AACA;AAAA,IACKC,iBAAiB,0BAAjBA,iBAAiB;EACpB;EACA;EAFGA,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,WAAW,EAAE,EAAE,GAAG,IAAI;EACtBC,gBAAgB,EAAEV,sBAAsB,CAACW,MAAM;EAC/CC,aAAa,EAAE,KAAK;EACpBC,aAAa,EAAE,IAAI;EACnBC,UAAU,EAAE;AACd,CAAC","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- "use strict";
2
-
3
- export { OPSqliteOpenFactory, OPSQLiteOpenFactoryOptions } from "./db/OPSqliteDBOpenFactory.js";
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["OPSqliteOpenFactory","OPSQLiteOpenFactoryOptions"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SACEA,mBAAmB,EACnBC,0BAA0B,QACrB,+BAA4B","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"type":"module"}
@@ -1 +0,0 @@
1
- {"type":"commonjs"}
@@ -1,28 +0,0 @@
1
- import { DB, UpdateHookOperation } from '@op-engineering/op-sqlite';
2
- import { BaseObserver, DBAdapterListener, QueryResult } from '@powersync/common';
3
- export type OPSQLiteConnectionOptions = {
4
- baseDB: DB;
5
- };
6
- export type OPSQLiteUpdateNotification = {
7
- table: string;
8
- operation: UpdateHookOperation;
9
- row?: any;
10
- rowId: number;
11
- };
12
- export declare class OPSQLiteConnection extends BaseObserver<DBAdapterListener> {
13
- protected options: OPSQLiteConnectionOptions;
14
- protected DB: DB;
15
- private updateBuffer;
16
- constructor(options: OPSQLiteConnectionOptions);
17
- addTableUpdate(update: OPSQLiteUpdateNotification): void;
18
- flushUpdates(): void;
19
- close(): void;
20
- execute(query: string, params?: any[]): Promise<QueryResult>;
21
- executeRaw(query: string, params?: any[]): Promise<any[][]>;
22
- executeBatch(query: string, params?: any[][]): Promise<QueryResult>;
23
- getAll<T>(sql: string, parameters?: any[]): Promise<T[]>;
24
- getOptional<T>(sql: string, parameters?: any[]): Promise<T | null>;
25
- get<T>(sql: string, parameters?: any[]): Promise<T>;
26
- refreshSchema(): Promise<void>;
27
- }
28
- //# sourceMappingURL=OPSQLiteConnection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OPSQLiteConnection.d.ts","sourceRoot":"","sources":["../../../../../src/db/OPSQLiteConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAiB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EACL,YAAY,EAEZ,iBAAiB,EACjB,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,EAAE,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,mBAAmB,CAAC;IAC/B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,kBAAmB,SAAQ,YAAY,CAAC,iBAAiB,CAAC;IAIzD,SAAS,CAAC,OAAO,EAAE,yBAAyB;IAHxD,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC;IACjB,OAAO,CAAC,YAAY,CAAuB;gBAErB,OAAO,EAAE,yBAAyB;IAcxD,cAAc,CAAC,MAAM,EAAE,0BAA0B;IAqBjD,YAAY;IAsBZ,KAAK;IAIC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAa5D,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;IAI3D,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAE,EAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAUvE,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAKxD,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAKlE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAQnD,aAAa;CAGpB"}
@@ -1,46 +0,0 @@
1
- import { BaseObserver, DBAdapter, DBAdapterListener, DBLockOptions, QueryResult, Transaction } from '@powersync/common';
2
- import Lock from 'async-lock';
3
- import { OPSQLiteConnection } from './OPSQLiteConnection';
4
- import { SqliteOptions } from './SqliteOptions';
5
- /**
6
- * Adapter for React Native Quick SQLite
7
- */
8
- export type OPSQLiteAdapterOptions = {
9
- name: string;
10
- dbLocation?: string;
11
- sqliteOptions?: SqliteOptions;
12
- };
13
- export declare class OPSQLiteDBAdapter extends BaseObserver<DBAdapterListener> implements DBAdapter {
14
- protected options: OPSQLiteAdapterOptions;
15
- name: string;
16
- protected locks: Lock;
17
- protected initialized: Promise<void>;
18
- protected readConnections: Array<{
19
- busy: boolean;
20
- connection: OPSQLiteConnection;
21
- }> | null;
22
- protected writeConnection: OPSQLiteConnection | null;
23
- private readQueue;
24
- private abortController;
25
- constructor(options: OPSQLiteAdapterOptions);
26
- protected init(): Promise<void>;
27
- protected openConnection(filenameOverride?: string): Promise<OPSQLiteConnection>;
28
- private openDatabase;
29
- private loadAdditionalExtensions;
30
- private loadPowerSyncExtension;
31
- close(): Promise<void>;
32
- readLock<T>(fn: (tx: OPSQLiteConnection) => Promise<T>, options?: DBLockOptions): Promise<T>;
33
- private processQueue;
34
- writeLock<T>(fn: (tx: OPSQLiteConnection) => Promise<T>, options?: DBLockOptions): Promise<T>;
35
- readTransaction<T>(fn: (tx: Transaction) => Promise<T>, options?: DBLockOptions): Promise<T>;
36
- writeTransaction<T>(fn: (tx: Transaction) => Promise<T>, options?: DBLockOptions): Promise<T>;
37
- getAll<T>(sql: string, parameters?: any[]): Promise<T[]>;
38
- getOptional<T>(sql: string, parameters?: any[]): Promise<T | null>;
39
- get<T>(sql: string, parameters?: any[]): Promise<T>;
40
- execute(query: string, params?: any[]): Promise<QueryResult>;
41
- executeRaw(query: string, params?: any[]): Promise<any[][]>;
42
- executeBatch(query: string, params?: any[][]): Promise<QueryResult>;
43
- protected internalTransaction<T>(connection: OPSQLiteConnection, fn: (tx: Transaction) => Promise<T>): Promise<T>;
44
- refreshSchema(): Promise<void>;
45
- }
46
- //# sourceMappingURL=OPSqliteAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OPSqliteAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/db/OPSqliteAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { DBAdapter, SQLOpenFactory, SQLOpenOptions } from '@powersync/common';
2
- import { SqliteOptions } from './SqliteOptions';
3
- export interface OPSQLiteOpenFactoryOptions extends SQLOpenOptions {
4
- sqliteOptions?: SqliteOptions;
5
- }
6
- export declare class OPSqliteOpenFactory implements SQLOpenFactory {
7
- protected options: OPSQLiteOpenFactoryOptions;
8
- private sqliteOptions;
9
- constructor(options: OPSQLiteOpenFactoryOptions);
10
- openDB(): DBAdapter;
11
- }
12
- //# sourceMappingURL=OPSqliteDBOpenFactory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OPSqliteDBOpenFactory.d.ts","sourceRoot":"","sources":["../../../../../src/db/OPSqliteDBOpenFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAA0B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAExE,MAAM,WAAW,0BAA2B,SAAQ,cAAc;IAChE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AACD,qBAAa,mBAAoB,YAAW,cAAc;IAG5C,SAAS,CAAC,OAAO,EAAE,0BAA0B;IAFzD,OAAO,CAAC,aAAa,CAA0B;gBAEzB,OAAO,EAAE,0BAA0B;IAOzD,MAAM,IAAI,SAAS;CAOpB"}
@@ -1,69 +0,0 @@
1
- export interface SqliteOptions {
2
- /**
3
- * SQLite journal mode. Defaults to [SqliteJournalMode.wal].
4
- */
5
- journalMode?: SqliteJournalMode;
6
- /**
7
- * SQLite synchronous flag. Defaults to [SqliteSynchronous.normal], which
8
- * is safe for WAL mode.
9
- */
10
- synchronous?: SqliteSynchronous;
11
- /**
12
- * Journal/WAL size limit. Defaults to 6MB.
13
- * The WAL may grow larger than this limit during writes, but SQLite will
14
- * attempt to truncate the file afterwards.
15
- */
16
- journalSizeLimit?: number;
17
- /**
18
- * Timeout in milliseconds waiting for locks to be released by other connections.
19
- * Defaults to 30 seconds.
20
- * Set to null or zero to fail immediately when the database is locked.
21
- */
22
- lockTimeoutMs?: number;
23
- /**
24
- * Encryption key for the database.
25
- * If set, the database will be encrypted using SQLCipher.
26
- */
27
- encryptionKey?: string | null;
28
- /**
29
- * Where to store SQLite temporary files. Defaults to 'MEMORY'.
30
- * Setting this to `FILESYSTEM` can cause issues with larger queries or datasets.
31
- *
32
- * For details, see: https://www.sqlite.org/pragma.html#pragma_temp_store
33
- */
34
- temporaryStorage?: TemporaryStorageOption;
35
- /**
36
- * Maximum SQLite cache size. Defaults to 50MB.
37
- *
38
- * For details, see: https://www.sqlite.org/pragma.html#pragma_cache_size
39
- */
40
- cacheSizeKb?: number;
41
- /**
42
- * Load extensions using the path and entryPoint.
43
- * More info can be found here https://op-engineering.github.io/op-sqlite/docs/api#loading-extensions.
44
- */
45
- extensions?: Array<{
46
- path: string;
47
- entryPoint?: string;
48
- }>;
49
- }
50
- export declare enum TemporaryStorageOption {
51
- MEMORY = "memory",
52
- FILESYSTEM = "file"
53
- }
54
- declare enum SqliteJournalMode {
55
- wal = "WAL",
56
- delete = "DELETE",
57
- truncate = "TRUNCATE",
58
- persist = "PERSIST",
59
- memory = "MEMORY",
60
- off = "OFF"
61
- }
62
- declare enum SqliteSynchronous {
63
- normal = "NORMAL",
64
- full = "FULL",
65
- off = "OFF"
66
- }
67
- export declare const DEFAULT_SQLITE_OPTIONS: Required<SqliteOptions>;
68
- export {};
69
- //# sourceMappingURL=SqliteOptions.d.ts.map