@op-engineering/op-sqlite 6.0.1 → 6.0.2-beta3

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 (38) hide show
  1. package/android/CMakeLists.txt +26 -15
  2. package/android/build.gradle +10 -1
  3. package/android/cpp-adapter.cpp +4 -0
  4. package/android/jniLibs/arm64-v8a/libsql_experimental.a +0 -0
  5. package/android/jniLibs/armeabi-v7a/libsql_experimental.a +0 -0
  6. package/android/jniLibs/x86/libsql_experimental.a +0 -0
  7. package/android/jniLibs/x86_64/libsql_experimental.a +0 -0
  8. package/cpp/DBHostObject.cpp +882 -0
  9. package/cpp/DBHostObject.h +61 -0
  10. package/cpp/PreparedStatementHostObject.cpp +29 -15
  11. package/cpp/PreparedStatementHostObject.h +18 -14
  12. package/cpp/bindings.cpp +24 -616
  13. package/cpp/bindings.h +5 -2
  14. package/cpp/bridge.cpp +55 -16
  15. package/cpp/bridge.h +5 -1
  16. package/cpp/libsql/bridge.cpp +629 -0
  17. package/cpp/libsql/bridge.h +88 -0
  18. package/cpp/libsql/libsql.h +133 -0
  19. package/cpp/sqlite3.h +0 -1
  20. package/cpp/types.h +5 -0
  21. package/cpp/utils.cpp +68 -6
  22. package/cpp/utils.h +5 -5
  23. package/ios/libsql.xcframework/Info.plist +48 -0
  24. package/ios/libsql.xcframework/ios-arm64/Headers/libsql.h +133 -0
  25. package/ios/libsql.xcframework/ios-arm64/libsql_experimental.a +0 -0
  26. package/ios/libsql.xcframework/ios-arm64_x86_64-simulator/Headers/libsql.h +133 -0
  27. package/ios/libsql.xcframework/ios-arm64_x86_64-simulator/libsql_experimental.a +0 -0
  28. package/lib/commonjs/index.js +143 -153
  29. package/lib/commonjs/index.js.map +1 -1
  30. package/lib/module/index.js +141 -152
  31. package/lib/module/index.js.map +1 -1
  32. package/lib/typescript/src/index.d.ts +28 -39
  33. package/lib/typescript/src/index.d.ts.map +1 -1
  34. package/op-sqlite.podspec +20 -3
  35. package/package.json +1 -1
  36. package/src/index.ts +203 -272
  37. package/cpp/sqlbatchexecutor.cpp +0 -93
  38. package/cpp/sqlbatchexecutor.h +0 -30
@@ -80,175 +80,161 @@ function enhanceQueryResult(result) {
80
80
  result.rows.item = idx => result.rows?._array[idx];
81
81
  }
82
82
  }
83
- const _open = OPSQLite.open;
84
- OPSQLite.open = options => {
85
- _open(options);
86
- locks[options.name] = {
83
+ export const open = options => {
84
+ const db = OPSQLite.open(options);
85
+ const lock = {
87
86
  queue: [],
88
87
  inProgress: false
89
88
  };
90
- };
91
- const _close = OPSQLite.close;
92
- OPSQLite.close = dbName => {
93
- _close(dbName);
94
- delete locks[dbName];
95
- };
96
- const _execute = OPSQLite.execute;
97
- OPSQLite.execute = (dbName, query, params) => {
98
- const sanitizedParams = params?.map(p => {
99
- if (ArrayBuffer.isView(p)) {
100
- return p.buffer;
89
+ const startNextTransaction = () => {
90
+ if (lock.inProgress) {
91
+ // Transaction is already in process bail out
92
+ return;
101
93
  }
102
- return p;
103
- });
104
- const result = _execute(dbName, query, sanitizedParams);
105
- enhanceQueryResult(result);
106
- return result;
107
- };
108
- const _executeAsync = OPSQLite.executeAsync;
109
- OPSQLite.executeAsync = async (dbName, query, params) => {
110
- const sanitizedParams = params?.map(p => {
111
- if (ArrayBuffer.isView(p)) {
112
- return p.buffer;
94
+ if (lock.queue.length) {
95
+ lock.inProgress = true;
96
+ const tx = lock.queue.shift();
97
+ if (!tx) {
98
+ throw new Error('Could not get a operation on database');
99
+ }
100
+ setImmediate(() => {
101
+ tx.start();
102
+ });
113
103
  }
114
- return p;
115
- });
116
- const res = await _executeAsync(dbName, query, sanitizedParams);
117
- enhanceQueryResult(res);
118
- return res;
119
- };
120
- const _prepareStatement = OPSQLite.prepareStatement;
121
- OPSQLite.prepareStatement = (dbName, query) => {
122
- const stmt = _prepareStatement(dbName, query);
123
- return {
124
- bind: params => {
125
- const sanitizedParams = params.map(p => {
104
+ };
105
+
106
+ // spreading the object is not working, so we need to do it manually
107
+ let enhancedDb = {
108
+ delete: db.delete,
109
+ attach: db.attach,
110
+ detach: db.detach,
111
+ executeBatch: db.executeBatch,
112
+ executeBatchAsync: db.executeBatchAsync,
113
+ loadFile: db.loadFile,
114
+ updateHook: db.updateHook,
115
+ commitHook: db.commitHook,
116
+ rollbackHook: db.rollbackHook,
117
+ loadExtension: db.loadExtension,
118
+ executeRawAsync: db.executeRawAsync,
119
+ getDbPath: db.getDbPath,
120
+ reactiveExecute: db.reactiveExecute,
121
+ close: () => {
122
+ db.close();
123
+ delete locks[options.name];
124
+ },
125
+ execute: (query, params) => {
126
+ const sanitizedParams = params?.map(p => {
126
127
  if (ArrayBuffer.isView(p)) {
127
128
  return p.buffer;
128
129
  }
129
130
  return p;
130
131
  });
131
- stmt.bind(sanitizedParams);
132
+ const result = db.execute(query, sanitizedParams);
133
+ enhanceQueryResult(result);
134
+ return result;
132
135
  },
133
- execute: () => {
134
- const res = stmt.execute();
135
- enhanceQueryResult(res);
136
- return res;
137
- }
138
- };
139
- };
140
- OPSQLite.transaction = async (dbName, fn) => {
141
- if (!locks[dbName]) {
142
- throw Error(`SQLite Error: No lock found on db: ${dbName}`);
143
- }
144
- let isFinalized = false;
145
-
146
- // Local transaction context object implementation
147
- const execute = (query, params) => {
148
- if (isFinalized) {
149
- throw Error(`SQLite Error: Cannot execute query on finalized transaction: ${dbName}`);
150
- }
151
- return OPSQLite.execute(dbName, query, params);
152
- };
153
- const executeAsync = (query, params) => {
154
- if (isFinalized) {
155
- throw Error(`SQLite Error: Cannot execute query on finalized transaction: ${dbName}`);
156
- }
157
- return OPSQLite.executeAsync(dbName, query, params);
158
- };
159
- const commit = () => {
160
- if (isFinalized) {
161
- throw Error(`SQLite Error: Cannot execute commit on finalized transaction: ${dbName}`);
162
- }
163
- const result = OPSQLite.execute(dbName, 'COMMIT');
164
- isFinalized = true;
165
- return result;
166
- };
167
- const rollback = () => {
168
- if (isFinalized) {
169
- throw Error(`SQLite Error: Cannot execute rollback on finalized transaction: ${dbName}`);
170
- }
171
- const result = OPSQLite.execute(dbName, 'ROLLBACK');
172
- isFinalized = true;
173
- return result;
174
- };
175
- async function run() {
176
- try {
177
- await OPSQLite.executeAsync(dbName, 'BEGIN TRANSACTION');
178
- await fn({
179
- commit,
180
- execute,
181
- executeAsync,
182
- rollback
136
+ executeAsync: async (query, params) => {
137
+ const sanitizedParams = params?.map(p => {
138
+ if (ArrayBuffer.isView(p)) {
139
+ return p.buffer;
140
+ }
141
+ return p;
183
142
  });
184
- if (!isFinalized) {
185
- commit();
186
- }
187
- } catch (executionError) {
188
- if (!isFinalized) {
143
+ const result = await db.executeAsync(query, sanitizedParams);
144
+ enhanceQueryResult(result);
145
+ return result;
146
+ },
147
+ prepareStatement: query => {
148
+ const stmt = db.prepareStatement(query);
149
+ return {
150
+ bind: params => {
151
+ const sanitizedParams = params.map(p => {
152
+ if (ArrayBuffer.isView(p)) {
153
+ return p.buffer;
154
+ }
155
+ return p;
156
+ });
157
+ stmt.bind(sanitizedParams);
158
+ },
159
+ execute: () => {
160
+ const res = stmt.execute();
161
+ enhanceQueryResult(res);
162
+ return res;
163
+ }
164
+ };
165
+ },
166
+ transaction: async fn => {
167
+ let isFinalized = false;
168
+
169
+ // Local transaction context object implementation
170
+ const execute = (query, params) => {
171
+ if (isFinalized) {
172
+ throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
173
+ }
174
+ return enhancedDb.execute(query, params);
175
+ };
176
+ const executeAsync = (query, params) => {
177
+ if (isFinalized) {
178
+ throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
179
+ }
180
+ return enhancedDb.executeAsync(query, params);
181
+ };
182
+ const commit = () => {
183
+ if (isFinalized) {
184
+ throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
185
+ }
186
+ const result = enhancedDb.execute('COMMIT;');
187
+ isFinalized = true;
188
+ return result;
189
+ };
190
+ const rollback = () => {
191
+ if (isFinalized) {
192
+ throw Error(`OP-Sqlite Error: Database: ${options.name}. Cannot execute query on finalized transaction`);
193
+ }
194
+ const result = enhancedDb.execute('ROLLBACK;');
195
+ isFinalized = true;
196
+ return result;
197
+ };
198
+ async function run() {
189
199
  try {
190
- rollback();
191
- } catch (rollbackError) {
192
- throw rollbackError;
200
+ await enhancedDb.executeAsync('BEGIN TRANSACTION;');
201
+ await fn({
202
+ commit,
203
+ execute,
204
+ executeAsync,
205
+ rollback
206
+ });
207
+ if (!isFinalized) {
208
+ commit();
209
+ }
210
+ } catch (executionError) {
211
+ console.warn('transaction error', executionError);
212
+ if (!isFinalized) {
213
+ try {
214
+ rollback();
215
+ } catch (rollbackError) {
216
+ throw rollbackError;
217
+ }
218
+ }
219
+ throw executionError;
220
+ } finally {
221
+ lock.inProgress = false;
222
+ isFinalized = false;
223
+ startNextTransaction();
193
224
  }
194
225
  }
195
- throw executionError;
196
- } finally {
197
- locks[dbName].inProgress = false;
198
- isFinalized = false;
199
- startNextTransaction(dbName);
200
- }
201
- }
202
- return await new Promise((resolve, reject) => {
203
- const tx = {
204
- start: () => {
205
- run().then(resolve).catch(reject);
206
- }
207
- };
208
- locks[dbName].queue.push(tx);
209
- startNextTransaction(dbName);
210
- });
211
- };
212
- const startNextTransaction = dbName => {
213
- if (!locks[dbName]) {
214
- throw Error(`Lock not found for db: ${dbName}`);
215
- }
216
- if (locks[dbName].inProgress) {
217
- // Transaction is already in process bail out
218
- return;
219
- }
220
- if (locks[dbName].queue.length) {
221
- locks[dbName].inProgress = true;
222
- const tx = locks[dbName].queue.shift();
223
- if (!tx) {
224
- throw new Error('Could not get a operation on datebase');
226
+ return await new Promise((resolve, reject) => {
227
+ const tx = {
228
+ start: () => {
229
+ run().then(resolve).catch(reject);
230
+ }
231
+ };
232
+ lock.queue.push(tx);
233
+ startNextTransaction();
234
+ });
225
235
  }
226
- setImmediate(() => {
227
- tx.start();
228
- });
229
- }
230
- };
231
- export const open = options => {
232
- OPSQLite.open(options);
233
- return {
234
- close: () => OPSQLite.close(options.name),
235
- delete: () => OPSQLite.delete(options.name, options.location),
236
- attach: (dbNameToAttach, alias, location) => OPSQLite.attach(options.name, dbNameToAttach, alias, location),
237
- detach: alias => OPSQLite.detach(options.name, alias),
238
- transaction: fn => OPSQLite.transaction(options.name, fn),
239
- execute: (query, params) => OPSQLite.execute(options.name, query, params),
240
- executeAsync: (query, params) => OPSQLite.executeAsync(options.name, query, params),
241
- executeBatch: commands => OPSQLite.executeBatch(options.name, commands),
242
- executeBatchAsync: commands => OPSQLite.executeBatchAsync(options.name, commands),
243
- loadFile: location => OPSQLite.loadFile(options.name, location),
244
- updateHook: callback => OPSQLite.updateHook(options.name, callback),
245
- commitHook: callback => OPSQLite.commitHook(options.name, callback),
246
- rollbackHook: callback => OPSQLite.rollbackHook(options.name, callback),
247
- prepareStatement: query => OPSQLite.prepareStatement(options.name, query),
248
- loadExtension: (path, entryPoint) => OPSQLite.loadExtension(options.name, path, entryPoint),
249
- executeRawAsync: (query, params) => OPSQLite.executeRawAsync(options.name, query, params),
250
- getDbPath: () => OPSQLite.getDbPath(options.name, options.location)
251
236
  };
237
+ return enhancedDb;
252
238
  };
253
239
  export const moveAssetsDatabase = async args => {
254
240
  return NativeModules.OPSQLite.moveAssetsDatabase(args);
@@ -256,4 +242,7 @@ export const moveAssetsDatabase = async args => {
256
242
  export const isSQLCipher = () => {
257
243
  return OPSQLite.isSQLCipher();
258
244
  };
245
+ export const isLibsql = () => {
246
+ return OPSQLite.isLibsql();
247
+ };
259
248
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","global","__OPSQLiteProxy","OPSQLite","Error","install","result","proxy","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","getConstants","locks","enhanceQueryResult","rows","_array","length","item","idx","_open","open","options","name","queue","inProgress","_close","close","dbName","_execute","execute","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","_executeAsync","executeAsync","res","_prepareStatement","prepareStatement","stmt","bind","transaction","fn","isFinalized","commit","rollback","run","executionError","rollbackError","startNextTransaction","Promise","resolve","reject","tx","start","then","catch","push","shift","setImmediate","delete","location","attach","dbNameToAttach","alias","detach","executeBatch","commands","executeBatchAsync","loadFile","updateHook","callback","commitHook","rollbackHook","loadExtension","path","entryPoint","executeRawAsync","getDbPath","moveAssetsDatabase","args","isSQLCipher"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","global","__OPSQLiteProxy","OPSQLite","Error","install","result","proxy","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","getConstants","locks","enhanceQueryResult","rows","_array","length","item","idx","open","options","db","lock","queue","inProgress","startNextTransaction","tx","shift","setImmediate","start","enhancedDb","delete","attach","detach","executeBatch","executeBatchAsync","loadFile","updateHook","commitHook","rollbackHook","loadExtension","executeRawAsync","getDbPath","reactiveExecute","close","name","execute","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","executeAsync","prepareStatement","stmt","bind","res","transaction","fn","isFinalized","commit","rollback","run","executionError","console","warn","rollbackError","Promise","resolve","reject","then","catch","push","moveAssetsDatabase","args","isSQLCipher","isLibsql"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ declare global {
2
2
  function nativeCallSyncHook(): unknown;
3
3
  var __OPSQLiteProxy: object | undefined;
4
4
  }
5
- export declare const OPSQLite: ISQLite;
5
+ export declare const OPSQLite: OPSQLiteProxy;
6
6
  export declare const IOS_DOCUMENT_PATH: any, IOS_LIBRARY_PATH: any, ANDROID_DATABASE_PATH: any, ANDROID_FILES_PATH: any, ANDROID_EXTERNAL_FILES_PATH: any;
7
7
  /**
8
8
  * Object returned by SQL Query executions {
@@ -82,70 +82,59 @@ export type PreparedStatementObj = {
82
82
  bind: (params: any[]) => void;
83
83
  execute: () => QueryResult;
84
84
  };
85
- interface ISQLite {
86
- open: (options: {
87
- name: string;
88
- location?: string;
89
- encryptionKey?: string;
90
- }) => void;
91
- close: (dbName: string) => void;
92
- delete: (dbName: string, location?: string) => void;
85
+ export type DB = {
86
+ close: () => void;
87
+ delete: (location?: string) => void;
93
88
  attach: (mainDbName: string, dbNameToAttach: string, alias: string, location?: string) => void;
94
89
  detach: (mainDbName: string, alias: string) => void;
95
- transaction: (dbName: string, fn: (tx: Transaction) => Promise<void>) => Promise<void>;
96
- execute: (dbName: string, query: string, params?: any[]) => QueryResult;
97
- executeAsync: (dbName: string, query: string, params?: any[]) => Promise<QueryResult>;
98
- executeBatch: (dbName: string, commands: SQLBatchTuple[]) => BatchQueryResult;
99
- executeBatchAsync: (dbName: string, commands: SQLBatchTuple[]) => Promise<BatchQueryResult>;
100
- loadFile: (dbName: string, location: string) => Promise<FileLoadResult>;
101
- updateHook: (dbName: string, callback?: ((params: {
102
- table: string;
103
- operation: UpdateHookOperation;
104
- row?: any;
105
- rowId: number;
106
- }) => void) | null) => void;
107
- commitHook: (dbName: string, callback?: (() => void) | null) => void;
108
- rollbackHook: (dbName: string, callback?: (() => void) | null) => void;
109
- prepareStatement: (dbName: string, query: string) => PreparedStatementObj;
110
- loadExtension: (dbName: string, path: string, entryPoint?: string) => void;
111
- executeRawAsync: (dbName: string, query: string, params?: any[]) => Promise<any[]>;
112
- getDbPath: (dbName: string, location?: string) => string;
113
- isSQLCipher: () => boolean;
114
- }
115
- export type OPSQLiteConnection = {
116
- close: () => void;
117
- delete: () => void;
118
- attach: (dbNameToAttach: string, alias: string, location?: string) => void;
119
- detach: (alias: string) => void;
120
90
  transaction: (fn: (tx: Transaction) => Promise<void>) => Promise<void>;
121
91
  execute: (query: string, params?: any[]) => QueryResult;
122
92
  executeAsync: (query: string, params?: any[]) => Promise<QueryResult>;
123
93
  executeBatch: (commands: SQLBatchTuple[]) => BatchQueryResult;
124
94
  executeBatchAsync: (commands: SQLBatchTuple[]) => Promise<BatchQueryResult>;
125
95
  loadFile: (location: string) => Promise<FileLoadResult>;
126
- updateHook: (callback: ((params: {
96
+ updateHook: (callback?: ((params: {
127
97
  table: string;
128
98
  operation: UpdateHookOperation;
129
99
  row?: any;
130
100
  rowId: number;
131
101
  }) => void) | null) => void;
132
- commitHook: (callback: (() => void) | null) => void;
133
- rollbackHook: (callback: (() => void) | null) => void;
102
+ commitHook: (callback?: (() => void) | null) => void;
103
+ rollbackHook: (callback?: (() => void) | null) => void;
134
104
  prepareStatement: (query: string) => PreparedStatementObj;
135
105
  loadExtension: (path: string, entryPoint?: string) => void;
136
106
  executeRawAsync: (query: string, params?: any[]) => Promise<any[]>;
137
- getDbPath: () => string;
107
+ getDbPath: (location?: string) => string;
108
+ reactiveExecute: (params: {
109
+ query: string;
110
+ arguments: any[];
111
+ fireOn: {
112
+ table: string;
113
+ ids?: number[];
114
+ }[];
115
+ callback: (response: any) => void;
116
+ }) => () => void;
117
+ };
118
+ type OPSQLiteProxy = {
119
+ open: (options: {
120
+ name: string;
121
+ location?: string;
122
+ encryptionKey?: string;
123
+ }) => DB;
124
+ isSQLCipher: () => boolean;
125
+ isLibsql: () => boolean;
138
126
  };
139
127
  export declare const open: (options: {
140
128
  name: string;
141
129
  location?: string;
142
130
  encryptionKey?: string;
143
- }) => OPSQLiteConnection;
131
+ }) => DB;
144
132
  export declare const moveAssetsDatabase: (args: {
145
133
  filename: string;
146
134
  path?: string;
147
135
  overwrite?: boolean;
148
136
  }) => Promise<boolean>;
149
137
  export declare const isSQLCipher: () => boolean;
138
+ export declare const isLibsql: () => boolean;
150
139
  export {};
151
140
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
package/op-sqlite.podspec CHANGED
@@ -21,6 +21,7 @@ end
21
21
  op_sqlite_config = app_package["op-sqlite"]
22
22
  use_sqlcipher = false
23
23
  use_crsqlite = false
24
+ use_libsql = false
24
25
  performance_mode = "0"
25
26
  phone_version = false
26
27
  sqlite_flags = ""
@@ -29,6 +30,7 @@ fts5 = false
29
30
  if(op_sqlite_config != nil)
30
31
  use_sqlcipher = op_sqlite_config["sqlcipher"] == true
31
32
  use_crsqlite = op_sqlite_config["crsqlite"] == true
33
+ use_libsql = op_sqlite_config["libsql"] == true
32
34
  performance_mode = op_sqlite_config["performanceMode"] || "0"
33
35
  phone_version = op_sqlite_config["iosSqlite"] == true
34
36
  sqlite_flags = op_sqlite_config["sqliteFlags"] || ""
@@ -64,12 +66,15 @@ Pod::Spec.new do |s|
64
66
 
65
67
  if use_sqlcipher then
66
68
  log_message.call("[OP-SQLITE] using SQLCipher 🔒")
67
- s.exclude_files = "cpp/sqlite3.c", "cpp/sqlite3.h"
69
+ s.exclude_files = "cpp/sqlite3.c", "cpp/sqlite3.h", "cpp/libsql/bridge.c", "cpp/libsql/bridge.h"
68
70
  xcconfig[:GCC_PREPROCESSOR_DEFINITIONS] += " OP_SQLITE_USE_SQLCIPHER=1 HAVE_FULLFSYNC=1 SQLITE_HAS_CODEC SQLITE_TEMP_STORE=2"
69
- s.dependency "OpenSSL-Universal"
71
+ s.dependency "OpenSSL-Universal"
72
+ elsif use_libsql then
73
+ log_message.call("[OP-SQLITE] using libsql 📘")
74
+ s.exclude_files = "cpp/sqlite3.c", "cpp/sqlite3.h", "cpp/sqlcipher/sqlite3.c", "cpp/sqlcipher/sqlite3.h", "cpp/bridge.h", "cpp/bridge.cpp"
70
75
  else
71
76
  log_message.call("[OP-SQLITE] using vanilla SQLite 📦")
72
- s.exclude_files = "cpp/sqlcipher/sqlite3.c", "cpp/sqlcipher/sqlite3.h"
77
+ s.exclude_files = "cpp/sqlcipher/sqlite3.c", "cpp/sqlcipher/sqlite3.h", "cpp/libsql/bridge.c", "cpp/libsql/bridge.h"
73
78
  end
74
79
 
75
80
  s.dependency "React-callinvoker"
@@ -124,6 +129,18 @@ Pod::Spec.new do |s|
124
129
  s.vendored_frameworks = "ios/crsqlite.xcframework"
125
130
  end
126
131
 
132
+ if use_libsql then
133
+ if use_crsqlite then
134
+ raise "Cannot use CRSQLite and libsql at the same time"
135
+ end
136
+
137
+ if use_sqlcipher then
138
+ raise "Cannot use SQLCipher and libsql at the same time"
139
+ end
140
+ xcconfig[:GCC_PREPROCESSOR_DEFINITIONS] += " OP_SQLITE_USE_LIBSQL=1"
141
+ s.vendored_frameworks = "ios/libsql.xcframework"
142
+ end
143
+
127
144
  if sqlite_flags != "" then
128
145
  log_message.call("[OP-SQLITE] Custom SQLite flags: #{sqlite_flags}")
129
146
  xcconfig[:OTHER_CFLAGS] += " #{sqlite_flags}"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@op-engineering/op-sqlite",
3
- "version": "6.0.1",
3
+ "version": "6.0.2-beta3",
4
4
  "description": "Next generation SQLite for React Native",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",