@op-engineering/op-sqlite 7.3.0 → 8.0.0-beta0

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 (53) hide show
  1. package/README.md +11 -3
  2. package/android/CMakeLists.txt +6 -0
  3. package/android/build.gradle +20 -1
  4. package/android/cpp-adapter.cpp +1 -1
  5. package/android/src/main/jniLibs/arm64-v8a/libsqlite_vec.so +0 -0
  6. package/android/src/main/jniLibs/armeabi-v7a/libsqlite_vec.so +0 -0
  7. package/android/src/main/jniLibs/x86/libsqlite_vec.so +0 -0
  8. package/android/src/main/jniLibs/x86_64/libsqlite_vec.so +0 -0
  9. package/cpp/DBHostObject.cpp +104 -107
  10. package/cpp/DBHostObject.h +1 -1
  11. package/cpp/PreparedStatementHostObject.cpp +39 -14
  12. package/cpp/PreparedStatementHostObject.h +17 -4
  13. package/cpp/bindings.cpp +12 -9
  14. package/cpp/bindings.h +2 -1
  15. package/cpp/bridge.cpp +229 -91
  16. package/cpp/bridge.h +13 -9
  17. package/cpp/libsql/bridge.cpp +212 -92
  18. package/cpp/libsql/bridge.h +7 -3
  19. package/cpp/macros.h +2 -2
  20. package/cpp/types.h +11 -8
  21. package/cpp/utils.cpp +43 -7
  22. package/cpp/utils.h +2 -0
  23. package/ios/OPSQLite.mm +15 -5
  24. package/ios/sqlitevec.xcframework/Info.plist +46 -0
  25. package/ios/sqlitevec.xcframework/ios-arm64/sqlitevec.framework/Info.plist +24 -0
  26. package/ios/sqlitevec.xcframework/ios-arm64/sqlitevec.framework/sqlitevec +0 -0
  27. package/ios/sqlitevec.xcframework/ios-arm64_x86_64-simulator/sqlitevec.framework/Info.plist +24 -0
  28. package/ios/sqlitevec.xcframework/ios-arm64_x86_64-simulator/sqlitevec.framework/sqlitevec +0 -0
  29. package/lib/commonjs/index.js +53 -30
  30. package/lib/commonjs/index.js.map +1 -1
  31. package/lib/commonjs/package.json +1 -0
  32. package/lib/module/NativeOPSQLite.js +2 -0
  33. package/lib/module/NativeOPSQLite.js.map +1 -1
  34. package/lib/module/index.js +55 -29
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/package.json +1 -0
  37. package/lib/typescript/commonjs/package.json +1 -0
  38. package/lib/typescript/commonjs/src/NativeOPSQLite.d.ts.map +1 -0
  39. package/lib/typescript/{src → commonjs/src}/index.d.ts +11 -11
  40. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  41. package/lib/typescript/module/package.json +1 -0
  42. package/lib/typescript/module/src/NativeOPSQLite.d.ts +15 -0
  43. package/lib/typescript/module/src/NativeOPSQLite.d.ts.map +1 -0
  44. package/lib/typescript/module/src/index.d.ts +163 -0
  45. package/lib/typescript/module/src/index.d.ts.map +1 -0
  46. package/op-sqlite.podspec +13 -4
  47. package/package.json +45 -15
  48. package/src/index.ts +80 -46
  49. package/android/.project +0 -17
  50. package/android/.settings/org.eclipse.buildship.core.prefs +0 -13
  51. package/lib/typescript/src/NativeOPSQLite.d.ts.map +0 -1
  52. package/lib/typescript/src/index.d.ts.map +0 -1
  53. /package/lib/typescript/{src → commonjs/src}/NativeOPSQLite.d.ts +0 -0
package/cpp/utils.cpp CHANGED
@@ -158,6 +158,44 @@ std::vector<JSVariant> to_variant_vec(jsi::Runtime &rt, jsi::Value const &xs) {
158
158
  return res;
159
159
  }
160
160
 
161
+ jsi::Value create_js_rows(jsi::Runtime &rt, BridgeResult status) {
162
+ if (status.type == SQLiteError) {
163
+ throw std::invalid_argument(status.message);
164
+ }
165
+
166
+ jsi::Object res = jsi::Object(rt);
167
+
168
+ res.setProperty(rt, "rowsAffected", status.affectedRows);
169
+ if (status.affectedRows > 0 && status.insertId != 0) {
170
+ res.setProperty(rt, "insertId", jsi::Value(status.insertId));
171
+ }
172
+
173
+ size_t row_count = status.rows.size();
174
+ auto rows = jsi::Array(rt, row_count);
175
+
176
+ if (row_count > 0) {
177
+ for (int i = 0; i < row_count; i++) {
178
+ auto row = jsi::Array(rt, status.column_names.size());
179
+ std::vector<JSVariant> native_row = status.rows[i];
180
+ for (int j = 0; j < native_row.size(); j++) {
181
+ auto value = toJSI(rt, native_row[j]);
182
+ row.setValueAtIndex(rt, j, value);
183
+ }
184
+ rows.setValueAtIndex(rt, i, std::move(row));
185
+ }
186
+ }
187
+ res.setProperty(rt, "rawRows", std::move(rows));
188
+
189
+ size_t column_count = status.column_names.size();
190
+ auto column_array = jsi::Array(rt, column_count);
191
+ for (int i = 0; i < column_count; i++) {
192
+ auto column = status.column_names.at(i);
193
+ column_array.setValueAtIndex(rt, i, toJSI(rt, column));
194
+ }
195
+ res.setProperty(rt, "columnNames", std::move(column_array));
196
+ return res;
197
+ }
198
+
161
199
  jsi::Value
162
200
  createResult(jsi::Runtime &rt, BridgeResult status,
163
201
  std::vector<DumbHostObject> *results,
@@ -266,14 +304,12 @@ BatchResult importSQLFile(std::string dbName, std::string fileLocation) {
266
304
  try {
267
305
  int affectedRows = 0;
268
306
  int commands = 0;
269
- opsqlite_execute(dbName, "BEGIN EXCLUSIVE TRANSACTION", nullptr, nullptr,
270
- nullptr);
307
+ opsqlite_execute(dbName, "BEGIN EXCLUSIVE TRANSACTION", nullptr);
271
308
  while (std::getline(sqFile, line, '\n')) {
272
309
  if (!line.empty()) {
273
- BridgeResult result =
274
- opsqlite_execute(dbName, line, nullptr, nullptr, nullptr);
310
+ BridgeResult result = opsqlite_execute(dbName, line, nullptr);
275
311
  if (result.type == SQLiteError) {
276
- opsqlite_execute(dbName, "ROLLBACK", nullptr, nullptr, nullptr);
312
+ opsqlite_execute(dbName, "ROLLBACK", nullptr);
277
313
  sqFile.close();
278
314
  return {SQLiteError, result.message, 0, commands};
279
315
  } else {
@@ -283,11 +319,11 @@ BatchResult importSQLFile(std::string dbName, std::string fileLocation) {
283
319
  }
284
320
  }
285
321
  sqFile.close();
286
- opsqlite_execute(dbName, "COMMIT", nullptr, nullptr, nullptr);
322
+ opsqlite_execute(dbName, "COMMIT", nullptr);
287
323
  return {SQLiteOk, "", affectedRows, commands};
288
324
  } catch (...) {
289
325
  sqFile.close();
290
- opsqlite_execute(dbName, "ROLLBACK", nullptr, nullptr, nullptr);
326
+ opsqlite_execute(dbName, "ROLLBACK", nullptr);
291
327
  return {SQLiteError,
292
328
  "[op-sqlite][loadSQLFile] Unexpected error, transaction was "
293
329
  "rolledback",
package/cpp/utils.h CHANGED
@@ -23,9 +23,11 @@ std::vector<int> to_int_vec(jsi::Runtime &rt, jsi::Value const &xs);
23
23
  jsi::Value createResult(jsi::Runtime &rt, BridgeResult status,
24
24
  std::vector<DumbHostObject> *results,
25
25
  std::shared_ptr<std::vector<SmartHostObject>> metadata);
26
+ jsi::Value create_js_rows(jsi::Runtime &rt, BridgeResult status);
26
27
  jsi::Value
27
28
  create_raw_result(jsi::Runtime &rt, BridgeResult status,
28
29
  const std::vector<std::vector<JSVariant>> *results);
30
+
29
31
  void to_batch_arguments(jsi::Runtime &rt, jsi::Array const &batchParams,
30
32
  std::vector<BatchArguments> *commands);
31
33
 
package/ios/OPSQLite.mm CHANGED
@@ -75,15 +75,25 @@ RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(install) {
75
75
  documentPath = [paths objectAtIndex:0];
76
76
  }
77
77
 
78
- NSBundle *bundle = [NSBundle bundleWithIdentifier:@"io.vlcn.crsqlite"];
79
- NSString *crsqlitePath = [bundle pathForResource:@"crsqlite" ofType:@""];
78
+ NSBundle *crsqlite_bundle =
79
+ [NSBundle bundleWithIdentifier:@"io.vlcn.crsqlite"];
80
+ NSString *crsqlite_path = [crsqlite_bundle pathForResource:@"crsqlite"
81
+ ofType:@""];
82
+ NSBundle *libsqlitevec_bundle =
83
+ [NSBundle bundleWithIdentifier:@"com.ospfranco.sqlitevec"];
84
+ NSString *sqlite_vec_path = [libsqlitevec_bundle pathForResource:@"sqlitevec"
85
+ ofType:@""];
86
+
87
+ if (crsqlite_path == nil) {
88
+ crsqlite_path = @"";
89
+ }
80
90
 
81
- if (crsqlitePath == nil) {
82
- crsqlitePath = @"";
91
+ if (sqlite_vec_path == nil) {
92
+ sqlite_vec_path = @"";
83
93
  }
84
94
 
85
95
  opsqlite::install(runtime, callInvoker, [documentPath UTF8String],
86
- [crsqlitePath UTF8String]);
96
+ [crsqlite_path UTF8String], [sqlite_vec_path UTF8String]);
87
97
  return @true;
88
98
  }
89
99
 
@@ -0,0 +1,46 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>AvailableLibraries</key>
6
+ <array>
7
+ <dict>
8
+ <key>LibraryIdentifier</key>
9
+ <string>ios-arm64</string>
10
+ <key>LibraryPath</key>
11
+ <string>sqlitevec.framework</string>
12
+ <key>SupportedArchitectures</key>
13
+ <array>
14
+ <string>arm64</string>
15
+ </array>
16
+ <key>SupportedPlatform</key>
17
+ <string>ios</string>
18
+ </dict>
19
+ <dict>
20
+ <key>LibraryIdentifier</key>
21
+ <string>ios-arm64_x86_64-simulator</string>
22
+ <key>LibraryPath</key>
23
+ <string>sqlitevec.framework</string>
24
+ <key>SupportedArchitectures</key>
25
+ <array>
26
+ <string>arm64</string>
27
+ <string>x86_64</string>
28
+ </array>
29
+ <key>SupportedPlatform</key>
30
+ <string>ios</string>
31
+ <key>SupportedPlatformVariant</key>
32
+ <string>simulator</string>
33
+ </dict>
34
+ </array>
35
+ <key>CFBundlePackageType</key>
36
+ <string>XFWK</string>
37
+ <key>XCFrameworkFormatVersion</key>
38
+ <string>1.0</string>
39
+ <key>CFBundleVersion</key>
40
+ <string>1.0.0</string>
41
+ <key>CFBundleShortVersionString</key>
42
+ <string>1.0.0</string>
43
+ <key>MinimumOSVersion</key>
44
+ <string>8.0</string>
45
+ </dict>
46
+ </plist>
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>CFBundleDevelopmentRegion</key>
6
+ <string>en</string>
7
+ <key>CFBundleExecutable</key>
8
+ <string>sqlitevec</string>
9
+ <key>CFBundleIdentifier</key>
10
+ <string>com.ospfranco.sqlitevec</string>
11
+ <key>CFBundleInfoDictionaryVersion</key>
12
+ <string>6.0</string>
13
+ <key>CFBundlePackageType</key>
14
+ <string>FMWK</string>
15
+ <key>CFBundleSignature</key>
16
+ <string>????</string>
17
+ <key>CFBundleVersion</key>
18
+ <string>1.0.0</string>
19
+ <key>CFBundleShortVersionString</key>
20
+ <string>1.0.0</string>
21
+ <key>MinimumOSVersion</key>
22
+ <string>8.0</string>
23
+ </dict>
24
+ </plist>
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>CFBundleDevelopmentRegion</key>
6
+ <string>en</string>
7
+ <key>CFBundleExecutable</key>
8
+ <string>sqlitevec</string>
9
+ <key>CFBundleIdentifier</key>
10
+ <string>com.ospfranco.sqlitevec</string>
11
+ <key>CFBundleInfoDictionaryVersion</key>
12
+ <string>6.0</string>
13
+ <key>CFBundlePackageType</key>
14
+ <string>FMWK</string>
15
+ <key>CFBundleSignature</key>
16
+ <string>????</string>
17
+ <key>CFBundleVersion</key>
18
+ <string>1.0.0</string>
19
+ <key>CFBundleShortVersionString</key>
20
+ <string>1.0.0</string>
21
+ <key>MinimumOSVersion</key>
22
+ <string>8.0</string>
23
+ </dict>
24
+ </plist>
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.openSync = exports.openRemote = exports.open = exports.moveAssetsDatabase = exports.isSQLCipher = exports.isLibsql = exports.OPSQLite = exports.IOS_LIBRARY_PATH = exports.IOS_DOCUMENT_PATH = exports.ANDROID_FILES_PATH = exports.ANDROID_EXTERNAL_FILES_PATH = exports.ANDROID_DATABASE_PATH = void 0;
7
7
  var _reactNative = require("react-native");
8
- // import NativeOPSQLite from './NativeOPSQLite';
9
-
10
8
  if (global.__OPSQLiteProxy == null) {
11
9
  if (_reactNative.NativeModules.OPSQLite == null) {
12
10
  throw new Error('Base module not found. Maybe try rebuilding the app.');
@@ -119,13 +117,12 @@ function enhanceDB(db, options) {
119
117
  attach: db.attach,
120
118
  detach: db.detach,
121
119
  executeBatch: db.executeBatch,
122
- executeBatchAsync: db.executeBatchAsync,
123
120
  loadFile: db.loadFile,
124
121
  updateHook: db.updateHook,
125
122
  commitHook: db.commitHook,
126
123
  rollbackHook: db.rollbackHook,
127
124
  loadExtension: db.loadExtension,
128
- executeRawAsync: db.executeRawAsync,
125
+ executeRaw: db.executeRaw,
129
126
  getDbPath: db.getDbPath,
130
127
  reactiveExecute: db.reactiveExecute,
131
128
  sync: db.sync,
@@ -133,27 +130,44 @@ function enhanceDB(db, options) {
133
130
  db.close();
134
131
  delete locks[options.url];
135
132
  },
136
- execute: (query, params) => {
133
+ executeWithHostObjects: async (query, params) => {
137
134
  const sanitizedParams = params?.map(p => {
138
135
  if (ArrayBuffer.isView(p)) {
139
136
  return p.buffer;
140
137
  }
141
138
  return p;
142
139
  });
143
- const result = db.execute(query, sanitizedParams);
140
+ const result = await db.executeWithHostObjects(query, sanitizedParams);
144
141
  enhanceQueryResult(result);
145
142
  return result;
146
143
  },
147
- executeAsync: async (query, params) => {
144
+ execute: async (query, params) => {
148
145
  const sanitizedParams = params?.map(p => {
149
146
  if (ArrayBuffer.isView(p)) {
150
147
  return p.buffer;
151
148
  }
152
149
  return p;
153
150
  });
154
- const result = await db.executeAsync(query, sanitizedParams);
155
- enhanceQueryResult(result);
156
- return result;
151
+ let intermediateResult = await db.execute(query, sanitizedParams);
152
+ let rows = [];
153
+ for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
154
+ let row = {};
155
+ for (let j = 0; j < intermediateResult.columnNames.length ?? 0; j++) {
156
+ let columnName = intermediateResult.columnNames[j];
157
+ let value = intermediateResult.rawRows[i][j];
158
+ row[columnName] = value;
159
+ }
160
+ rows.push(row);
161
+ }
162
+ let res = {
163
+ ...intermediateResult,
164
+ rows: {
165
+ _array: rows,
166
+ length: rows.length,
167
+ item: idx => rows[idx]
168
+ }
169
+ };
170
+ return res;
157
171
  },
158
172
  prepareStatement: query => {
159
173
  const stmt = db.prepareStatement(query);
@@ -167,8 +181,8 @@ function enhanceDB(db, options) {
167
181
  });
168
182
  stmt.bind(sanitizedParams);
169
183
  },
170
- execute: () => {
171
- const res = stmt.execute();
184
+ execute: async () => {
185
+ const res = await stmt.execute();
172
186
  enhanceQueryResult(res);
173
187
  return res;
174
188
  }
@@ -176,53 +190,62 @@ function enhanceDB(db, options) {
176
190
  },
177
191
  transaction: async fn => {
178
192
  let isFinalized = false;
179
-
180
- // Local transaction context object implementation
181
- const execute = (query, params) => {
193
+ const execute = async (query, params) => {
182
194
  if (isFinalized) {
183
195
  throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
184
196
  }
185
- return enhancedDb.execute(query, params);
186
- };
187
- const executeAsync = (query, params) => {
188
- if (isFinalized) {
189
- throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
197
+ let intermediateResult = await enhancedDb.execute(query, params);
198
+ let rows = [];
199
+ for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
200
+ let row = {};
201
+ for (let j = 0; j < intermediateResult.columnNames.length ?? 0; j++) {
202
+ let columnName = intermediateResult.columnNames[j];
203
+ row[columnName] = intermediateResult.rawRows[i][j];
204
+ }
205
+ rows.push(row);
190
206
  }
191
- return enhancedDb.executeAsync(query, params);
207
+ let res = {
208
+ ...intermediateResult,
209
+ rows: {
210
+ _array: rows,
211
+ length: 0,
212
+ item: idx => rows[idx]
213
+ }
214
+ };
215
+ return res;
192
216
  };
193
- const commit = () => {
217
+ const commit = async () => {
194
218
  if (isFinalized) {
195
219
  throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
196
220
  }
197
- const result = enhancedDb.execute('COMMIT;');
221
+ const result = await enhancedDb.execute('COMMIT;');
198
222
  isFinalized = true;
199
223
  return result;
200
224
  };
201
- const rollback = () => {
225
+ const rollback = async () => {
202
226
  if (isFinalized) {
203
227
  throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
204
228
  }
205
- const result = enhancedDb.execute('ROLLBACK;');
229
+ const result = await enhancedDb.execute('ROLLBACK;');
206
230
  isFinalized = true;
207
231
  return result;
208
232
  };
209
233
  async function run() {
210
234
  try {
211
- await enhancedDb.executeAsync('BEGIN TRANSACTION;');
235
+ await enhancedDb.execute('BEGIN TRANSACTION;');
212
236
  await fn({
213
237
  commit,
214
238
  execute,
215
- executeAsync,
216
239
  rollback
217
240
  });
218
241
  if (!isFinalized) {
219
- commit();
242
+ await commit();
220
243
  }
221
244
  } catch (executionError) {
222
- console.warn('transaction error', executionError);
245
+ // console.warn('transaction error', executionError);
223
246
  if (!isFinalized) {
224
247
  try {
225
- rollback();
248
+ await rollback();
226
249
  } catch (rollbackError) {
227
250
  throw rollbackError;
228
251
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","global","__OPSQLiteProxy","NativeModules","OPSQLite","Error","install","result","proxy","exports","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","getConstants","locks","enhanceQueryResult","rows","_array","length","item","idx","res","enhanceDB","db","options","lock","queue","inProgress","startNextTransaction","tx","shift","setImmediate","start","enhancedDb","delete","attach","detach","executeBatch","executeBatchAsync","loadFile","updateHook","commitHook","rollbackHook","loadExtension","executeRawAsync","getDbPath","reactiveExecute","sync","close","url","execute","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","executeAsync","prepareStatement","stmt","bind","transaction","fn","isFinalized","commit","rollback","run","executionError","console","warn","rollbackError","Promise","resolve","reject","then","catch","push","openSync","isLibsql","openRemote","open","moveAssetsDatabase","args","isSQLCipher"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","global","__OPSQLiteProxy","NativeModules","OPSQLite","Error","install","result","proxy","exports","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","getConstants","locks","enhanceQueryResult","rows","_array","length","item","idx","res","enhanceDB","db","options","lock","queue","inProgress","startNextTransaction","tx","shift","setImmediate","start","enhancedDb","delete","attach","detach","executeBatch","loadFile","updateHook","commitHook","rollbackHook","loadExtension","executeRaw","getDbPath","reactiveExecute","sync","close","url","executeWithHostObjects","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","execute","intermediateResult","i","rawRows","row","j","columnNames","columnName","value","push","prepareStatement","stmt","bind","transaction","fn","isFinalized","commit","rollback","run","executionError","rollbackError","Promise","resolve","reject","then","catch","openSync","isLibsql","openRemote","open","moveAssetsDatabase","args","isSQLCipher"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import { TurboModuleRegistry } from 'react-native';
2
4
  export default TurboModuleRegistry.getEnforcing('OPSQLite');
3
5
  //# sourceMappingURL=NativeOPSQLite.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeOPSQLite.ts"],"mappings":"AAAA,SAASA,mBAAmB,QAA0B,cAAc;AAgBpE,eAAeA,mBAAmB,CAACC,YAAY,CAAO,UAAU,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeOPSQLite.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAA0B,cAAc;AAgBpE,eAAeA,mBAAmB,CAACC,YAAY,CAAO,UAAU,CAAC","ignoreList":[]}
@@ -1,4 +1,5 @@
1
- // import NativeOPSQLite from './NativeOPSQLite';
1
+ "use strict";
2
+
2
3
  import { NativeModules } from 'react-native';
3
4
  if (global.__OPSQLiteProxy == null) {
4
5
  if (NativeModules.OPSQLite == null) {
@@ -108,13 +109,12 @@ function enhanceDB(db, options) {
108
109
  attach: db.attach,
109
110
  detach: db.detach,
110
111
  executeBatch: db.executeBatch,
111
- executeBatchAsync: db.executeBatchAsync,
112
112
  loadFile: db.loadFile,
113
113
  updateHook: db.updateHook,
114
114
  commitHook: db.commitHook,
115
115
  rollbackHook: db.rollbackHook,
116
116
  loadExtension: db.loadExtension,
117
- executeRawAsync: db.executeRawAsync,
117
+ executeRaw: db.executeRaw,
118
118
  getDbPath: db.getDbPath,
119
119
  reactiveExecute: db.reactiveExecute,
120
120
  sync: db.sync,
@@ -122,27 +122,44 @@ function enhanceDB(db, options) {
122
122
  db.close();
123
123
  delete locks[options.url];
124
124
  },
125
- execute: (query, params) => {
125
+ executeWithHostObjects: async (query, params) => {
126
126
  const sanitizedParams = params?.map(p => {
127
127
  if (ArrayBuffer.isView(p)) {
128
128
  return p.buffer;
129
129
  }
130
130
  return p;
131
131
  });
132
- const result = db.execute(query, sanitizedParams);
132
+ const result = await db.executeWithHostObjects(query, sanitizedParams);
133
133
  enhanceQueryResult(result);
134
134
  return result;
135
135
  },
136
- executeAsync: async (query, params) => {
136
+ execute: async (query, params) => {
137
137
  const sanitizedParams = params?.map(p => {
138
138
  if (ArrayBuffer.isView(p)) {
139
139
  return p.buffer;
140
140
  }
141
141
  return p;
142
142
  });
143
- const result = await db.executeAsync(query, sanitizedParams);
144
- enhanceQueryResult(result);
145
- return result;
143
+ let intermediateResult = await db.execute(query, sanitizedParams);
144
+ let rows = [];
145
+ for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
146
+ let row = {};
147
+ for (let j = 0; j < intermediateResult.columnNames.length ?? 0; j++) {
148
+ let columnName = intermediateResult.columnNames[j];
149
+ let value = intermediateResult.rawRows[i][j];
150
+ row[columnName] = value;
151
+ }
152
+ rows.push(row);
153
+ }
154
+ let res = {
155
+ ...intermediateResult,
156
+ rows: {
157
+ _array: rows,
158
+ length: rows.length,
159
+ item: idx => rows[idx]
160
+ }
161
+ };
162
+ return res;
146
163
  },
147
164
  prepareStatement: query => {
148
165
  const stmt = db.prepareStatement(query);
@@ -156,8 +173,8 @@ function enhanceDB(db, options) {
156
173
  });
157
174
  stmt.bind(sanitizedParams);
158
175
  },
159
- execute: () => {
160
- const res = stmt.execute();
176
+ execute: async () => {
177
+ const res = await stmt.execute();
161
178
  enhanceQueryResult(res);
162
179
  return res;
163
180
  }
@@ -165,53 +182,62 @@ function enhanceDB(db, options) {
165
182
  },
166
183
  transaction: async fn => {
167
184
  let isFinalized = false;
168
-
169
- // Local transaction context object implementation
170
- const execute = (query, params) => {
185
+ const execute = async (query, params) => {
171
186
  if (isFinalized) {
172
187
  throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
173
188
  }
174
- return enhancedDb.execute(query, params);
175
- };
176
- const executeAsync = (query, params) => {
177
- if (isFinalized) {
178
- throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
189
+ let intermediateResult = await enhancedDb.execute(query, params);
190
+ let rows = [];
191
+ for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
192
+ let row = {};
193
+ for (let j = 0; j < intermediateResult.columnNames.length ?? 0; j++) {
194
+ let columnName = intermediateResult.columnNames[j];
195
+ row[columnName] = intermediateResult.rawRows[i][j];
196
+ }
197
+ rows.push(row);
179
198
  }
180
- return enhancedDb.executeAsync(query, params);
199
+ let res = {
200
+ ...intermediateResult,
201
+ rows: {
202
+ _array: rows,
203
+ length: 0,
204
+ item: idx => rows[idx]
205
+ }
206
+ };
207
+ return res;
181
208
  };
182
- const commit = () => {
209
+ const commit = async () => {
183
210
  if (isFinalized) {
184
211
  throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
185
212
  }
186
- const result = enhancedDb.execute('COMMIT;');
213
+ const result = await enhancedDb.execute('COMMIT;');
187
214
  isFinalized = true;
188
215
  return result;
189
216
  };
190
- const rollback = () => {
217
+ const rollback = async () => {
191
218
  if (isFinalized) {
192
219
  throw Error(`OP-Sqlite Error: Database: ${options.url}. Cannot execute query on finalized transaction`);
193
220
  }
194
- const result = enhancedDb.execute('ROLLBACK;');
221
+ const result = await enhancedDb.execute('ROLLBACK;');
195
222
  isFinalized = true;
196
223
  return result;
197
224
  };
198
225
  async function run() {
199
226
  try {
200
- await enhancedDb.executeAsync('BEGIN TRANSACTION;');
227
+ await enhancedDb.execute('BEGIN TRANSACTION;');
201
228
  await fn({
202
229
  commit,
203
230
  execute,
204
- executeAsync,
205
231
  rollback
206
232
  });
207
233
  if (!isFinalized) {
208
- commit();
234
+ await commit();
209
235
  }
210
236
  } catch (executionError) {
211
- console.warn('transaction error', executionError);
237
+ // console.warn('transaction error', executionError);
212
238
  if (!isFinalized) {
213
239
  try {
214
- rollback();
240
+ await rollback();
215
241
  } catch (rollbackError) {
216
242
  throw rollbackError;
217
243
  }