react-native-nitro-sqlite 9.6.0 → 9.8.0

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 (68) hide show
  1. package/RNNitroSQLite.podspec +56 -20
  2. package/android/CMakeLists.txt +15 -0
  3. package/android/build.gradle +14 -0
  4. package/cpp/NitroSQLiteException.hpp +5 -0
  5. package/cpp/databaseMigration.cpp +123 -0
  6. package/cpp/databaseMigration.hpp +13 -0
  7. package/cpp/hybridObjects/HybridNitroSQLite.cpp +65 -16
  8. package/cpp/hybridObjects/HybridNitroSQLite.hpp +5 -0
  9. package/cpp/hybridObjects/HybridNitroSQLiteQueryResult.cpp +5 -4
  10. package/cpp/hybridObjects/HybridNitroSQLiteQueryResult.hpp +1 -1
  11. package/cpp/importSqlFile.cpp +10 -5
  12. package/cpp/importSqlFile.hpp +5 -1
  13. package/cpp/operations.cpp +232 -168
  14. package/cpp/operations.hpp +31 -1
  15. package/cpp/sqliteExecuteBatch.cpp +17 -16
  16. package/cpp/sqliteExecuteBatch.hpp +4 -0
  17. package/ios/OnLoad.mm +26 -3
  18. package/lib/commonjs/DatabaseQueue.js +4 -17
  19. package/lib/commonjs/DatabaseQueue.js.map +1 -1
  20. package/lib/commonjs/operations/execute.js +28 -11
  21. package/lib/commonjs/operations/execute.js.map +1 -1
  22. package/lib/commonjs/operations/session.js +34 -9
  23. package/lib/commonjs/operations/session.js.map +1 -1
  24. package/lib/commonjs/operations/transaction.js +5 -5
  25. package/lib/commonjs/operations/transaction.js.map +1 -1
  26. package/lib/module/DatabaseQueue.js +4 -15
  27. package/lib/module/DatabaseQueue.js.map +1 -1
  28. package/lib/module/operations/execute.js +24 -12
  29. package/lib/module/operations/execute.js.map +1 -1
  30. package/lib/module/operations/session.js +36 -11
  31. package/lib/module/operations/session.js.map +1 -1
  32. package/lib/module/operations/transaction.js +6 -6
  33. package/lib/module/operations/transaction.js.map +1 -1
  34. package/lib/typescript/commonjs/DatabaseQueue.d.ts +1 -3
  35. package/lib/typescript/commonjs/DatabaseQueue.d.ts.map +1 -1
  36. package/lib/typescript/commonjs/operations/execute.d.ts +6 -0
  37. package/lib/typescript/commonjs/operations/execute.d.ts.map +1 -1
  38. package/lib/typescript/commonjs/operations/session.d.ts.map +1 -1
  39. package/lib/typescript/commonjs/specs/NitroSQLite.nitro.d.ts.map +1 -1
  40. package/lib/typescript/commonjs/specs/NitroSQLiteQueryResult.nitro.d.ts.map +1 -1
  41. package/lib/typescript/module/DatabaseQueue.d.ts +1 -3
  42. package/lib/typescript/module/DatabaseQueue.d.ts.map +1 -1
  43. package/lib/typescript/module/operations/execute.d.ts +6 -0
  44. package/lib/typescript/module/operations/execute.d.ts.map +1 -1
  45. package/lib/typescript/module/operations/session.d.ts.map +1 -1
  46. package/lib/typescript/module/specs/NitroSQLite.nitro.d.ts.map +1 -1
  47. package/lib/typescript/module/specs/NitroSQLiteQueryResult.nitro.d.ts.map +1 -1
  48. package/nitrogen/generated/android/RNNitroSQLiteOnLoad.cpp +2 -2
  49. package/nitrogen/generated/android/c++/JHybridNitroSQLiteOnLoadSpec.hpp +2 -2
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rnnitrosqlite/HybridNitroSQLiteOnLoadSpec.kt +2 -0
  51. package/nitrogen/generated/ios/RNNitroSQLite+autolinking.rb +2 -0
  52. package/package.json +9 -7
  53. package/src/DatabaseQueue.ts +9 -19
  54. package/src/operations/execute.ts +52 -12
  55. package/src/operations/session.ts +57 -11
  56. package/src/operations/transaction.ts +6 -6
  57. package/src/specs/NitroSQLite.nitro.ts +4 -1
  58. package/src/specs/NitroSQLiteQueryResult.nitro.ts +4 -1
  59. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  60. package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
  61. package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
  62. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  63. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  64. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  65. package/android/.gradle/8.9/gc.properties +0 -0
  66. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  67. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  68. package/android/.gradle/vcs-1/gc.properties +0 -0
@@ -3,11 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.closeDatabase = closeDatabase;
7
6
  exports.closeDatabaseQueue = closeDatabaseQueue;
8
7
  exports.getDatabaseQueue = getDatabaseQueue;
9
8
  exports.isDatabaseOpen = isDatabaseOpen;
10
- exports.openDatabase = openDatabase;
11
9
  exports.openDatabaseQueue = openDatabaseQueue;
12
10
  exports.queueOperationAsync = queueOperationAsync;
13
11
  exports.startOperationSync = startOperationSync;
@@ -27,7 +25,7 @@ function openDatabaseQueue(dbName) {
27
25
  function closeDatabaseQueue(dbName) {
28
26
  const databaseQueue = getDatabaseQueue(dbName);
29
27
  if (databaseQueue.inProgress || databaseQueue.queue.length > 0) {
30
- console.warn(`Database queue for ${dbName} has operations in the queue. Closing anyway.`);
28
+ throw new _NitroSQLiteError.default(`Cannot close database ${dbName}. The database is busy with another operation.`);
31
29
  }
32
30
  databaseQueues.delete(dbName);
33
31
  }
@@ -42,15 +40,6 @@ function getDatabaseQueue(dbName) {
42
40
  const queue = databaseQueues.get(dbName);
43
41
  return queue;
44
42
  }
45
- function openDatabase(dbName) {
46
- databaseQueues.set(dbName, {
47
- queue: [],
48
- inProgress: false
49
- });
50
- }
51
- function closeDatabase(dbName) {
52
- databaseQueues.delete(dbName);
53
- }
54
43
  function queueOperationAsync(dbName, callback) {
55
44
  const databaseQueue = getDatabaseQueue(dbName);
56
45
  return new Promise((resolve, reject) => {
@@ -62,19 +51,17 @@ function queueOperationAsync(dbName, callback) {
62
51
  reject(error);
63
52
  } finally {
64
53
  databaseQueue.inProgress = false;
65
- startOperationAsync(dbName);
54
+ startOperationAsync(databaseQueue);
66
55
  }
67
56
  }
68
57
  const operation = {
69
58
  start
70
59
  };
71
60
  databaseQueue.queue.push(operation);
72
- startOperationAsync(dbName);
61
+ startOperationAsync(databaseQueue);
73
62
  });
74
63
  }
75
- function startOperationAsync(dbName) {
76
- const queue = getDatabaseQueue(dbName);
77
-
64
+ function startOperationAsync(queue) {
78
65
  // Queue is empty or in progress. Bail out.
79
66
  if (queue.inProgress || queue.queue.length === 0) {
80
67
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["_NitroSQLiteError","_interopRequireDefault","require","e","__esModule","default","databaseQueues","Map","openDatabaseQueue","dbName","isDatabaseOpen","NitroSQLiteError","set","queue","inProgress","closeDatabaseQueue","databaseQueue","getDatabaseQueue","length","console","warn","delete","has","throwIfDatabaseIsNotOpen","get","openDatabase","closeDatabase","queueOperationAsync","callback","Promise","resolve","reject","start","result","error","startOperationAsync","operation","push","shift","setImmediate","startOperationSync"],"sourceRoot":"../../src","sources":["DatabaseQueue.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_NitroSQLiteError","_interopRequireDefault","require","e","__esModule","default","databaseQueues","Map","openDatabaseQueue","dbName","isDatabaseOpen","NitroSQLiteError","set","queue","inProgress","closeDatabaseQueue","databaseQueue","getDatabaseQueue","length","delete","has","throwIfDatabaseIsNotOpen","get","queueOperationAsync","callback","Promise","resolve","reject","start","result","error","startOperationAsync","operation","push","shift","setImmediate","startOperationSync"],"sourceRoot":"../../src","sources":["DatabaseQueue.ts"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAiD,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAcjD,MAAMG,cAAc,GAAG,IAAIC,GAAG,CAAwB,CAAC;AAEhD,SAASC,iBAAiBA,CAACC,MAAc,EAAE;EAChD,IAAIC,cAAc,CAACD,MAAM,CAAC,EAAE;IAC1B,MAAM,IAAIE,yBAAgB,CACxB,YAAYF,MAAM,kEACpB,CAAC;EACH;EAEAH,cAAc,CAACM,GAAG,CAACH,MAAM,EAAE;IAAEI,KAAK,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAM,CAAC,CAAC;AAC9D;AAEO,SAASC,kBAAkBA,CAACN,MAAc,EAAE;EACjD,MAAMO,aAAa,GAAGC,gBAAgB,CAACR,MAAM,CAAC;EAE9C,IAAIO,aAAa,CAACF,UAAU,IAAIE,aAAa,CAACH,KAAK,CAACK,MAAM,GAAG,CAAC,EAAE;IAC9D,MAAM,IAAIP,yBAAgB,CACxB,yBAAyBF,MAAM,gDACjC,CAAC;EACH;EAEAH,cAAc,CAACa,MAAM,CAACV,MAAM,CAAC;AAC/B;AAEO,SAASC,cAAcA,CAACD,MAAc,EAAE;EAC7C,OAAOH,cAAc,CAACc,GAAG,CAACX,MAAM,CAAC;AACnC;AAEO,SAASY,wBAAwBA,CAACZ,MAAc,EAAE;EACvD,IAAI,CAACC,cAAc,CAACD,MAAM,CAAC,EACzB,MAAM,IAAIE,yBAAgB,CACxB,YAAYF,MAAM,uDACpB,CAAC;AACL;AAEO,SAASQ,gBAAgBA,CAACR,MAAc,EAAE;EAC/CY,wBAAwB,CAACZ,MAAM,CAAC;EAEhC,MAAMI,KAAK,GAAGP,cAAc,CAACgB,GAAG,CAACb,MAAM,CAAE;EACzC,OAAOI,KAAK;AACd;AAEO,SAASU,mBAAmBA,CACjCd,MAAc,EACde,QAA+B,EAC/B;EACA,MAAMR,aAAa,GAAGC,gBAAgB,CAACR,MAAM,CAAC;EAE9C,OAAO,IAAIgB,OAAO,CAAS,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC9C,eAAeC,KAAKA,CAAA,EAAG;MACrB,IAAI;QACF,MAAMC,MAAM,GAAG,MAAML,QAAQ,CAAC,CAAC;QAC/BE,OAAO,CAACG,MAAM,CAAC;MACjB,CAAC,CAAC,OAAOC,KAAK,EAAE;QACdH,MAAM,CAACG,KAAK,CAAC;MACf,CAAC,SAAS;QACRd,aAAa,CAACF,UAAU,GAAG,KAAK;QAChCiB,mBAAmB,CAACf,aAAa,CAAC;MACpC;IACF;IAEA,MAAMgB,SAA0B,GAAG;MACjCJ;IACF,CAAC;IAEDZ,aAAa,CAACH,KAAK,CAACoB,IAAI,CAACD,SAAS,CAAC;IACnCD,mBAAmB,CAACf,aAAa,CAAC;EACpC,CAAC,CAAC;AACJ;AAEA,SAASe,mBAAmBA,CAAClB,KAAoB,EAAE;EACjD;EACA,IAAIA,KAAK,CAACC,UAAU,IAAID,KAAK,CAACA,KAAK,CAACK,MAAM,KAAK,CAAC,EAAE;IAChD;EACF;EAEAL,KAAK,CAACC,UAAU,GAAG,IAAI;EAEvB,MAAMkB,SAAS,GAAGnB,KAAK,CAACA,KAAK,CAACqB,KAAK,CAAC,CAAE;EACtCC,YAAY,CAAC,MAAM;IACjBH,SAAS,CAACJ,KAAK,CAAC,CAAC;EACnB,CAAC,CAAC;AACJ;AAEO,SAASQ,kBAAkBA,CAChC3B,MAAc,EACde,QAAsB,EACd;EACR,MAAMR,aAAa,GAAGC,gBAAgB,CAACR,MAAM,CAAC;;EAE9C;EACA,IAAIO,aAAa,CAACF,UAAU,IAAIE,aAAa,CAACH,KAAK,CAACK,MAAM,GAAG,CAAC,EAAE;IAC9D,MAAM,IAAIP,yBAAgB,CACxB,0DAA0DF,MAAM,kCAClE,CAAC;EACH;;EAEA;EACAO,aAAa,CAACF,UAAU,GAAG,IAAI;EAC/B,IAAI;IACF,OAAOU,QAAQ,CAAC,CAAC;EACnB,CAAC,SAAS;IACRR,aAAa,CAACF,UAAU,GAAG,KAAK;EAClC;AACF","ignoreList":[]}
@@ -3,12 +3,27 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.buildJSQueryResult = buildJSQueryResult;
6
7
  exports.execute = execute;
7
8
  exports.executeAsync = executeAsync;
9
+ exports.executeAsyncManaged = executeAsyncManaged;
10
+ exports.executeAsyncNative = executeAsyncNative;
11
+ exports.executeManaged = executeManaged;
12
+ exports.executeNative = executeNative;
8
13
  var _nitro = require("../nitro.js");
9
14
  var _NitroSQLiteError = _interopRequireDefault(require("../NitroSQLiteError.js"));
15
+ var _DatabaseQueue = require("../DatabaseQueue.js");
10
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
17
  function execute(dbName, query, params) {
18
+ if (!(0, _DatabaseQueue.isDatabaseOpen)(dbName)) {
19
+ return executeNative(dbName, query, params);
20
+ }
21
+ return executeManaged(dbName, query, params);
22
+ }
23
+ function executeManaged(dbName, query, params) {
24
+ return (0, _DatabaseQueue.startOperationSync)(dbName, () => executeNative(dbName, query, params));
25
+ }
26
+ function executeNative(dbName, query, params) {
12
27
  try {
13
28
  const nativeResult = _nitro.HybridNitroSQLite.execute(dbName, query, params);
14
29
  return buildJSQueryResult(nativeResult);
@@ -17,6 +32,15 @@ function execute(dbName, query, params) {
17
32
  }
18
33
  }
19
34
  async function executeAsync(dbName, query, params) {
35
+ if (!(0, _DatabaseQueue.isDatabaseOpen)(dbName)) {
36
+ return executeAsyncNative(dbName, query, params);
37
+ }
38
+ return executeAsyncManaged(dbName, query, params);
39
+ }
40
+ async function executeAsyncManaged(dbName, query, params) {
41
+ return (0, _DatabaseQueue.queueOperationAsync)(dbName, () => executeAsyncNative(dbName, query, params));
42
+ }
43
+ async function executeAsyncNative(dbName, query, params) {
20
44
  try {
21
45
  const nativeResult = await _nitro.HybridNitroSQLite.executeAsync(dbName, query, params);
22
46
  return buildJSQueryResult(nativeResult);
@@ -26,19 +50,12 @@ async function executeAsync(dbName, query, params) {
26
50
  }
27
51
  function buildJSQueryResult(result) {
28
52
  const resultWithRows = result;
53
+ const results = result.results;
29
54
  resultWithRows.rows = {
30
- _array: result.results,
31
- length: result.results.length,
32
- item: idx => result.results[idx]
55
+ _array: results,
56
+ length: results.length,
57
+ item: idx => results[idx]
33
58
  };
34
59
  return resultWithRows;
35
-
36
- // return Object.assign(result, {
37
- // rows: {
38
- // _array: result.results,
39
- // length: result.results.length,
40
- // item: (idx: number) => result.results[idx],
41
- // },
42
- // })
43
60
  }
44
61
  //# sourceMappingURL=execute.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_nitro","require","_NitroSQLiteError","_interopRequireDefault","e","__esModule","default","execute","dbName","query","params","nativeResult","HybridNitroSQLite","buildJSQueryResult","error","NitroSQLiteError","fromError","executeAsync","result","resultWithRows","rows","_array","results","length","item","idx"],"sourceRoot":"../../../src","sources":["operations/execute.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAkD,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG3C,SAASG,OAAOA,CACrBC,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,IAAI;IACF,MAAMC,YAAY,GAAGC,wBAAiB,CAACL,OAAO,CAACC,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;IACrE,OAAOG,kBAAkB,CAAMF,YAAY,CAAC;EAC9C,CAAC,CAAC,OAAOG,KAAK,EAAE;IACd,MAAMC,yBAAgB,CAACC,SAAS,CAACF,KAAK,CAAC;EACzC;AACF;AAEO,eAAeG,YAAYA,CAChCT,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,IAAI;IACF,MAAMC,YAAY,GAAG,MAAMC,wBAAiB,CAACK,YAAY,CACvDT,MAAM,EACNC,KAAK,EACLC,MACF,CAAC;IACD,OAAOG,kBAAkB,CAAMF,YAAY,CAAC;EAC9C,CAAC,CAAC,OAAOG,KAAK,EAAE;IACd,MAAMC,yBAAgB,CAACC,SAAS,CAACF,KAAK,CAAC;EACzC;AACF;AAEA,SAASD,kBAAkBA,CACzBK,MAA8B,EACZ;EAClB,MAAMC,cAAc,GAAGD,MAA0B;EAEjDC,cAAc,CAACC,IAAI,GAAG;IACpBC,MAAM,EAAEH,MAAM,CAACI,OAAgB;IAC/BC,MAAM,EAAEL,MAAM,CAACI,OAAO,CAACC,MAAM;IAC7BC,IAAI,EAAGC,GAAW,IAAKP,MAAM,CAACI,OAAO,CAACG,GAAG;EAC3C,CAAC;EAED,OAAON,cAAc;;EAErB;EACA;EACA;EACA;EACA;EACA;EACA;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_nitro","require","_NitroSQLiteError","_interopRequireDefault","_DatabaseQueue","e","__esModule","default","execute","dbName","query","params","isDatabaseOpen","executeNative","executeManaged","startOperationSync","nativeResult","HybridNitroSQLite","buildJSQueryResult","error","NitroSQLiteError","fromError","executeAsync","executeAsyncNative","executeAsyncManaged","queueOperationAsync","result","resultWithRows","results","rows","_array","length","item","idx"],"sourceRoot":"../../../src","sources":["operations/execute.ts"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,cAAA,GAAAH,OAAA;AAIyB,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElB,SAASG,OAAOA,CACrBC,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,IAAI,CAAC,IAAAC,6BAAc,EAACH,MAAM,CAAC,EAAE;IAC3B,OAAOI,aAAa,CAACJ,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;EAC7C;EAEA,OAAOG,cAAc,CAACL,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;AAC9C;AAEO,SAASG,cAAcA,CAC5BL,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,OAAO,IAAAI,iCAAkB,EAACN,MAAM,EAAE,MAAMI,aAAa,CAACJ,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC,CAAC;AAC/E;AAEO,SAASE,aAAaA,CAC3BJ,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,IAAI;IACF,MAAMK,YAAY,GAAGC,wBAAiB,CAACT,OAAO,CAACC,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;IACrE,OAAOO,kBAAkB,CAAMF,YAAY,CAAC;EAC9C,CAAC,CAAC,OAAOG,KAAK,EAAE;IACd,MAAMC,yBAAgB,CAACC,SAAS,CAACF,KAAK,CAAC;EACzC;AACF;AAEO,eAAeG,YAAYA,CAChCb,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,IAAI,CAAC,IAAAC,6BAAc,EAACH,MAAM,CAAC,EAAE;IAC3B,OAAOc,kBAAkB,CAACd,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;EAClD;EAEA,OAAOa,mBAAmB,CAACf,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;AACnD;AAEO,eAAea,mBAAmBA,CACvCf,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,OAAO,IAAAc,kCAAmB,EAAChB,MAAM,EAAE,MACjCc,kBAAkB,CAACd,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAC1C,CAAC;AACH;AAEO,eAAeY,kBAAkBA,CACtCd,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,IAAI;IACF,MAAMK,YAAY,GAAG,MAAMC,wBAAiB,CAACK,YAAY,CACvDb,MAAM,EACNC,KAAK,EACLC,MACF,CAAC;IACD,OAAOO,kBAAkB,CAAMF,YAAY,CAAC;EAC9C,CAAC,CAAC,OAAOG,KAAK,EAAE;IACd,MAAMC,yBAAgB,CAACC,SAAS,CAACF,KAAK,CAAC;EACzC;AACF;AAEO,SAASD,kBAAkBA,CAChCQ,MAA8B,EACZ;EAClB,MAAMC,cAAc,GAAGD,MAA0B;EACjD,MAAME,OAAO,GAAGF,MAAM,CAACE,OAAgB;EAEvCD,cAAc,CAACE,IAAI,GAAG;IACpBC,MAAM,EAAEF,OAAO;IACfG,MAAM,EAAEH,OAAO,CAACG,MAAM;IACtBC,IAAI,EAAGC,GAAW,IAAKL,OAAO,CAACK,GAAG;EACpC,CAAC;EAED,OAAON,cAAc;AACvB","ignoreList":[]}
@@ -12,31 +12,56 @@ var _NitroSQLiteError = _interopRequireDefault(require("../NitroSQLiteError.js")
12
12
  var _DatabaseQueue = require("../DatabaseQueue.js");
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
14
  function open(options) {
15
+ (0, _DatabaseQueue.openDatabaseQueue)(options.name);
15
16
  try {
16
17
  _nitro.HybridNitroSQLite.open(options.name, options.location);
17
- (0, _DatabaseQueue.openDatabaseQueue)(options.name);
18
18
  } catch (error) {
19
+ (0, _DatabaseQueue.closeDatabaseQueue)(options.name);
19
20
  throw _NitroSQLiteError.default.fromError(error);
20
21
  }
21
22
  return {
22
23
  close: () => {
23
24
  try {
24
- _nitro.HybridNitroSQLite.close(options.name);
25
+ (0, _DatabaseQueue.startOperationSync)(options.name, () => _nitro.HybridNitroSQLite.close(options.name));
25
26
  (0, _DatabaseQueue.closeDatabaseQueue)(options.name);
26
27
  } catch (error) {
27
28
  throw _NitroSQLiteError.default.fromError(error);
28
29
  }
29
30
  },
30
- delete: () => _nitro.HybridNitroSQLite.drop(options.name, options.location),
31
- attach: (dbNameToAttach, alias, location) => _nitro.HybridNitroSQLite.attach(options.name, dbNameToAttach, alias, location),
32
- detach: alias => _nitro.HybridNitroSQLite.detach(options.name, alias),
31
+ delete: () => {
32
+ try {
33
+ if (!(0, _DatabaseQueue.isDatabaseOpen)(options.name)) {
34
+ _nitro.HybridNitroSQLite.drop(options.name, options.location);
35
+ return;
36
+ }
37
+ (0, _DatabaseQueue.startOperationSync)(options.name, () => _nitro.HybridNitroSQLite.drop(options.name, options.location));
38
+ (0, _DatabaseQueue.closeDatabaseQueue)(options.name);
39
+ } catch (error) {
40
+ throw _NitroSQLiteError.default.fromError(error);
41
+ }
42
+ },
43
+ attach: (dbNameToAttach, alias, location) => runSyncOperation(options.name, () => _nitro.HybridNitroSQLite.attach(options.name, dbNameToAttach, alias, location)),
44
+ detach: alias => runSyncOperation(options.name, () => _nitro.HybridNitroSQLite.detach(options.name, alias)),
33
45
  transaction: fn => (0, _transaction.transaction)(options.name, fn),
34
- execute: (query, params) => (0, _execute.execute)(options.name, query, params),
35
- executeAsync: (query, params) => (0, _execute.executeAsync)(options.name, query, params),
46
+ execute: (query, params) => (0, _execute.executeManaged)(options.name, query, params),
47
+ executeAsync: (query, params) => (0, _execute.executeAsyncManaged)(options.name, query, params),
36
48
  executeBatch: commands => (0, _executeBatch.executeBatch)(options.name, commands),
37
49
  executeBatchAsync: commands => (0, _executeBatch.executeBatchAsync)(options.name, commands),
38
- loadFile: location => _nitro.HybridNitroSQLite.loadFile(options.name, location),
39
- loadFileAsync: location => _nitro.HybridNitroSQLite.loadFileAsync(options.name, location)
50
+ loadFile: location => runSyncOperation(options.name, () => _nitro.HybridNitroSQLite.loadFile(options.name, location)),
51
+ loadFileAsync: location => (0, _DatabaseQueue.queueOperationAsync)(options.name, async () => {
52
+ try {
53
+ return await _nitro.HybridNitroSQLite.loadFileAsync(options.name, location);
54
+ } catch (error) {
55
+ throw _NitroSQLiteError.default.fromError(error);
56
+ }
57
+ })
40
58
  };
41
59
  }
60
+ function runSyncOperation(dbName, callback) {
61
+ try {
62
+ return (0, _DatabaseQueue.startOperationSync)(dbName, callback);
63
+ } catch (error) {
64
+ throw _NitroSQLiteError.default.fromError(error);
65
+ }
66
+ }
42
67
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_nitro","require","_transaction","_execute","_executeBatch","_NitroSQLiteError","_interopRequireDefault","_DatabaseQueue","e","__esModule","default","open","options","HybridNitroSQLite","name","location","openDatabaseQueue","error","NitroSQLiteError","fromError","close","closeDatabaseQueue","delete","drop","attach","dbNameToAttach","alias","detach","transaction","fn","execute","query","params","executeAsync","executeBatch","commands","executeBatchAsync","loadFile","loadFileAsync"],"sourceRoot":"../../../src","sources":["operations/session.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAUA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AAAwE,SAAAK,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEjE,SAASG,IAAIA,CAClBC,OAAqC,EACd;EACvB,IAAI;IACFC,wBAAiB,CAACF,IAAI,CAACC,OAAO,CAACE,IAAI,EAAEF,OAAO,CAACG,QAAQ,CAAC;IACtD,IAAAC,gCAAiB,EAACJ,OAAO,CAACE,IAAI,CAAC;EACjC,CAAC,CAAC,OAAOG,KAAK,EAAE;IACd,MAAMC,yBAAgB,CAACC,SAAS,CAACF,KAAK,CAAC;EACzC;EAEA,OAAO;IACLG,KAAK,EAAEA,CAAA,KAAM;MACX,IAAI;QACFP,wBAAiB,CAACO,KAAK,CAACR,OAAO,CAACE,IAAI,CAAC;QACrC,IAAAO,iCAAkB,EAACT,OAAO,CAACE,IAAI,CAAC;MAClC,CAAC,CAAC,OAAOG,KAAK,EAAE;QACd,MAAMC,yBAAgB,CAACC,SAAS,CAACF,KAAK,CAAC;MACzC;IACF,CAAC;IACDK,MAAM,EAAEA,CAAA,KAAMT,wBAAiB,CAACU,IAAI,CAACX,OAAO,CAACE,IAAI,EAAEF,OAAO,CAACG,QAAQ,CAAC;IACpES,MAAM,EAAEA,CAACC,cAAsB,EAAEC,KAAa,EAAEX,QAAiB,KAC/DF,wBAAiB,CAACW,MAAM,CAACZ,OAAO,CAACE,IAAI,EAAEW,cAAc,EAAEC,KAAK,EAAEX,QAAQ,CAAC;IACzEY,MAAM,EAAGD,KAAa,IAAKb,wBAAiB,CAACc,MAAM,CAACf,OAAO,CAACE,IAAI,EAAEY,KAAK,CAAC;IACxEE,WAAW,EAAkBC,EAAwC,IACnE,IAAAD,wBAAW,EAAChB,OAAO,CAACE,IAAI,EAAEe,EAAE,CAAC;IAC/BC,OAAO,EAAEA,CACPC,KAAa,EACbC,MAA0B,KACL,IAAAF,gBAAO,EAAClB,OAAO,CAACE,IAAI,EAAEiB,KAAK,EAAEC,MAAM,CAAC;IAC3DC,YAAY,EAAEA,CACZF,KAAa,EACbC,MAA0B,KACI,IAAAC,qBAAY,EAACrB,OAAO,CAACE,IAAI,EAAEiB,KAAK,EAAEC,MAAM,CAAC;IACzEE,YAAY,EAAGC,QAA6B,IAC1C,IAAAD,0BAAY,EAACtB,OAAO,CAACE,IAAI,EAAEqB,QAAQ,CAAC;IACtCC,iBAAiB,EAAGD,QAA6B,IAC/C,IAAAC,+BAAiB,EAACxB,OAAO,CAACE,IAAI,EAAEqB,QAAQ,CAAC;IAC3CE,QAAQ,EAAGtB,QAAgB,IACzBF,wBAAiB,CAACwB,QAAQ,CAACzB,OAAO,CAACE,IAAI,EAAEC,QAAQ,CAAC;IACpDuB,aAAa,EAAGvB,QAAgB,IAC9BF,wBAAiB,CAACyB,aAAa,CAAC1B,OAAO,CAACE,IAAI,EAAEC,QAAQ;EAC1D,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_nitro","require","_transaction","_execute","_executeBatch","_NitroSQLiteError","_interopRequireDefault","_DatabaseQueue","e","__esModule","default","open","options","openDatabaseQueue","name","HybridNitroSQLite","location","error","closeDatabaseQueue","NitroSQLiteError","fromError","close","startOperationSync","delete","isDatabaseOpen","drop","attach","dbNameToAttach","alias","runSyncOperation","detach","transaction","fn","execute","query","params","executeManaged","executeAsync","executeAsyncManaged","executeBatch","commands","executeBatchAsync","loadFile","loadFileAsync","queueOperationAsync","dbName","callback"],"sourceRoot":"../../../src","sources":["operations/session.ts"],"mappings":"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","ignoreList":[]}
@@ -15,31 +15,31 @@ const transaction = async (dbName, transactionCallback, isExclusive = false) =>
15
15
  if (isFinished) {
16
16
  throw new _NitroSQLiteError.default(`Cannot execute query on finalized transaction: ${dbName}`);
17
17
  }
18
- return (0, _execute.execute)(dbName, query, params);
18
+ return (0, _execute.executeNative)(dbName, query, params);
19
19
  };
20
20
  const executeAsyncOnTransaction = (query, params) => {
21
21
  if (isFinished) {
22
22
  throw new _NitroSQLiteError.default(`Cannot execute query on finalized transaction: ${dbName}`);
23
23
  }
24
- return (0, _execute.executeAsync)(dbName, query, params);
24
+ return (0, _execute.executeAsyncNative)(dbName, query, params);
25
25
  };
26
26
  const commit = () => {
27
27
  if (isFinished) {
28
28
  throw new _NitroSQLiteError.default(`Cannot execute commit on finalized transaction: ${dbName}`);
29
29
  }
30
30
  isFinished = true;
31
- return (0, _execute.execute)(dbName, 'COMMIT');
31
+ return (0, _execute.executeNative)(dbName, 'COMMIT');
32
32
  };
33
33
  const rollback = () => {
34
34
  if (isFinished) {
35
35
  throw new _NitroSQLiteError.default(`Cannot execute rollback on finalized transaction: ${dbName}`);
36
36
  }
37
37
  isFinished = true;
38
- return (0, _execute.execute)(dbName, 'ROLLBACK');
38
+ return (0, _execute.executeNative)(dbName, 'ROLLBACK');
39
39
  };
40
40
  return await (0, _DatabaseQueue.queueOperationAsync)(dbName, async () => {
41
41
  try {
42
- await (0, _execute.executeAsync)(dbName, isExclusive ? 'BEGIN EXCLUSIVE TRANSACTION' : 'BEGIN TRANSACTION');
42
+ await (0, _execute.executeAsyncNative)(dbName, isExclusive ? 'BEGIN EXCLUSIVE TRANSACTION' : 'BEGIN TRANSACTION');
43
43
  const result = await transactionCallback({
44
44
  commit,
45
45
  execute: executeOnTransaction,
@@ -1 +1 @@
1
- {"version":3,"names":["_DatabaseQueue","require","_execute","_NitroSQLiteError","_interopRequireDefault","e","__esModule","default","transaction","dbName","transactionCallback","isExclusive","throwIfDatabaseIsNotOpen","isFinished","executeOnTransaction","query","params","NitroSQLiteError","execute","executeAsyncOnTransaction","executeAsync","commit","rollback","queueOperationAsync","result","executionError","rollbackError","fromError","exports"],"sourceRoot":"../../../src","sources":["operations/transaction.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAOA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAkD,SAAAG,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3C,MAAMG,WAAW,GAAG,MAAAA,CACzBC,MAAc,EACdC,mBAAyD,EACzDC,WAAW,GAAG,KAAK,KAChB;EACH,IAAAC,uCAAwB,EAACH,MAAM,CAAC;EAEhC,IAAII,UAAU,GAAG,KAAK;EAEtB,MAAMC,oBAAoB,GAAGA,CAC3BC,KAAa,EACbC,MAA0B,KACL;IACrB,IAAIH,UAAU,EAAE;MACd,MAAM,IAAII,yBAAgB,CACxB,kDAAkDR,MAAM,EAC1D,CAAC;IACH;IACA,OAAO,IAAAS,gBAAO,EAACT,MAAM,EAAEM,KAAK,EAAEC,MAAM,CAAC;EACvC,CAAC;EAED,MAAMG,yBAAyB,GAAGA,CAChCJ,KAAa,EACbC,MAA0B,KACI;IAC9B,IAAIH,UAAU,EAAE;MACd,MAAM,IAAII,yBAAgB,CACxB,kDAAkDR,MAAM,EAC1D,CAAC;IACH;IACA,OAAO,IAAAW,qBAAY,EAACX,MAAM,EAAEM,KAAK,EAAEC,MAAM,CAAC;EAC5C,CAAC;EAED,MAAMK,MAAM,GAAGA,CAAA,KAAM;IACnB,IAAIR,UAAU,EAAE;MACd,MAAM,IAAII,yBAAgB,CACxB,mDAAmDR,MAAM,EAC3D,CAAC;IACH;IACAI,UAAU,GAAG,IAAI;IACjB,OAAO,IAAAK,gBAAO,EAACT,MAAM,EAAE,QAAQ,CAAC;EAClC,CAAC;EAED,MAAMa,QAAQ,GAAGA,CAAA,KAAM;IACrB,IAAIT,UAAU,EAAE;MACd,MAAM,IAAII,yBAAgB,CACxB,qDAAqDR,MAAM,EAC7D,CAAC;IACH;IACAI,UAAU,GAAG,IAAI;IACjB,OAAO,IAAAK,gBAAO,EAACT,MAAM,EAAE,UAAU,CAAC;EACpC,CAAC;EAED,OAAO,MAAM,IAAAc,kCAAmB,EAACd,MAAM,EAAE,YAAY;IACnD,IAAI;MACF,MAAM,IAAAW,qBAAY,EAChBX,MAAM,EACNE,WAAW,GAAG,6BAA6B,GAAG,mBAChD,CAAC;MAED,MAAMa,MAAM,GAAG,MAAMd,mBAAmB,CAAC;QACvCW,MAAM;QACNH,OAAO,EAAEJ,oBAAoB;QAC7BM,YAAY,EAAED,yBAAyB;QACvCG;MACF,CAAC,CAAC;MAEF,IAAI,CAACT,UAAU,EAAEQ,MAAM,CAAC,CAAC;MAEzB,OAAOG,MAAM;IACf,CAAC,CAAC,OAAOC,cAAc,EAAE;MACvB,IAAI,CAACZ,UAAU,EAAE;QACf,IAAI;UACFS,QAAQ,CAAC,CAAC;QACZ,CAAC,CAAC,OAAOI,aAAa,EAAE;UACtB,MAAMT,yBAAgB,CAACU,SAAS,CAACD,aAAa,CAAC;QACjD;MACF;MAEA,MAAMT,yBAAgB,CAACU,SAAS,CAACF,cAAc,CAAC;IAClD;EACF,CAAC,CAAC;AACJ,CAAC;AAAAG,OAAA,CAAApB,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["_DatabaseQueue","require","_execute","_NitroSQLiteError","_interopRequireDefault","e","__esModule","default","transaction","dbName","transactionCallback","isExclusive","throwIfDatabaseIsNotOpen","isFinished","executeOnTransaction","query","params","NitroSQLiteError","executeNative","executeAsyncOnTransaction","executeAsyncNative","commit","rollback","queueOperationAsync","result","execute","executeAsync","executionError","rollbackError","fromError","exports"],"sourceRoot":"../../../src","sources":["operations/transaction.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAOA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAkD,SAAAG,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3C,MAAMG,WAAW,GAAG,MAAAA,CACzBC,MAAc,EACdC,mBAAyD,EACzDC,WAAW,GAAG,KAAK,KAChB;EACH,IAAAC,uCAAwB,EAACH,MAAM,CAAC;EAEhC,IAAII,UAAU,GAAG,KAAK;EAEtB,MAAMC,oBAAoB,GAAGA,CAC3BC,KAAa,EACbC,MAA0B,KACL;IACrB,IAAIH,UAAU,EAAE;MACd,MAAM,IAAII,yBAAgB,CACxB,kDAAkDR,MAAM,EAC1D,CAAC;IACH;IACA,OAAO,IAAAS,sBAAa,EAACT,MAAM,EAAEM,KAAK,EAAEC,MAAM,CAAC;EAC7C,CAAC;EAED,MAAMG,yBAAyB,GAAGA,CAChCJ,KAAa,EACbC,MAA0B,KACI;IAC9B,IAAIH,UAAU,EAAE;MACd,MAAM,IAAII,yBAAgB,CACxB,kDAAkDR,MAAM,EAC1D,CAAC;IACH;IACA,OAAO,IAAAW,2BAAkB,EAACX,MAAM,EAAEM,KAAK,EAAEC,MAAM,CAAC;EAClD,CAAC;EAED,MAAMK,MAAM,GAAGA,CAAA,KAAM;IACnB,IAAIR,UAAU,EAAE;MACd,MAAM,IAAII,yBAAgB,CACxB,mDAAmDR,MAAM,EAC3D,CAAC;IACH;IACAI,UAAU,GAAG,IAAI;IACjB,OAAO,IAAAK,sBAAa,EAACT,MAAM,EAAE,QAAQ,CAAC;EACxC,CAAC;EAED,MAAMa,QAAQ,GAAGA,CAAA,KAAM;IACrB,IAAIT,UAAU,EAAE;MACd,MAAM,IAAII,yBAAgB,CACxB,qDAAqDR,MAAM,EAC7D,CAAC;IACH;IACAI,UAAU,GAAG,IAAI;IACjB,OAAO,IAAAK,sBAAa,EAACT,MAAM,EAAE,UAAU,CAAC;EAC1C,CAAC;EAED,OAAO,MAAM,IAAAc,kCAAmB,EAACd,MAAM,EAAE,YAAY;IACnD,IAAI;MACF,MAAM,IAAAW,2BAAkB,EACtBX,MAAM,EACNE,WAAW,GAAG,6BAA6B,GAAG,mBAChD,CAAC;MAED,MAAMa,MAAM,GAAG,MAAMd,mBAAmB,CAAC;QACvCW,MAAM;QACNI,OAAO,EAAEX,oBAAoB;QAC7BY,YAAY,EAAEP,yBAAyB;QACvCG;MACF,CAAC,CAAC;MAEF,IAAI,CAACT,UAAU,EAAEQ,MAAM,CAAC,CAAC;MAEzB,OAAOG,MAAM;IACf,CAAC,CAAC,OAAOG,cAAc,EAAE;MACvB,IAAI,CAACd,UAAU,EAAE;QACf,IAAI;UACFS,QAAQ,CAAC,CAAC;QACZ,CAAC,CAAC,OAAOM,aAAa,EAAE;UACtB,MAAMX,yBAAgB,CAACY,SAAS,CAACD,aAAa,CAAC;QACjD;MACF;MAEA,MAAMX,yBAAgB,CAACY,SAAS,CAACF,cAAc,CAAC;IAClD;EACF,CAAC,CAAC;AACJ,CAAC;AAAAG,OAAA,CAAAtB,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -14,7 +14,7 @@ export function openDatabaseQueue(dbName) {
14
14
  export function closeDatabaseQueue(dbName) {
15
15
  const databaseQueue = getDatabaseQueue(dbName);
16
16
  if (databaseQueue.inProgress || databaseQueue.queue.length > 0) {
17
- console.warn(`Database queue for ${dbName} has operations in the queue. Closing anyway.`);
17
+ throw new NitroSQLiteError(`Cannot close database ${dbName}. The database is busy with another operation.`);
18
18
  }
19
19
  databaseQueues.delete(dbName);
20
20
  }
@@ -29,15 +29,6 @@ export function getDatabaseQueue(dbName) {
29
29
  const queue = databaseQueues.get(dbName);
30
30
  return queue;
31
31
  }
32
- export function openDatabase(dbName) {
33
- databaseQueues.set(dbName, {
34
- queue: [],
35
- inProgress: false
36
- });
37
- }
38
- export function closeDatabase(dbName) {
39
- databaseQueues.delete(dbName);
40
- }
41
32
  export function queueOperationAsync(dbName, callback) {
42
33
  const databaseQueue = getDatabaseQueue(dbName);
43
34
  return new Promise((resolve, reject) => {
@@ -49,19 +40,17 @@ export function queueOperationAsync(dbName, callback) {
49
40
  reject(error);
50
41
  } finally {
51
42
  databaseQueue.inProgress = false;
52
- startOperationAsync(dbName);
43
+ startOperationAsync(databaseQueue);
53
44
  }
54
45
  }
55
46
  const operation = {
56
47
  start
57
48
  };
58
49
  databaseQueue.queue.push(operation);
59
- startOperationAsync(dbName);
50
+ startOperationAsync(databaseQueue);
60
51
  });
61
52
  }
62
- function startOperationAsync(dbName) {
63
- const queue = getDatabaseQueue(dbName);
64
-
53
+ function startOperationAsync(queue) {
65
54
  // Queue is empty or in progress. Bail out.
66
55
  if (queue.inProgress || queue.queue.length === 0) {
67
56
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["NitroSQLiteError","databaseQueues","Map","openDatabaseQueue","dbName","isDatabaseOpen","set","queue","inProgress","closeDatabaseQueue","databaseQueue","getDatabaseQueue","length","console","warn","delete","has","throwIfDatabaseIsNotOpen","get","openDatabase","closeDatabase","queueOperationAsync","callback","Promise","resolve","reject","start","result","error","startOperationAsync","operation","push","shift","setImmediate","startOperationSync"],"sourceRoot":"../../src","sources":["DatabaseQueue.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NitroSQLiteError","databaseQueues","Map","openDatabaseQueue","dbName","isDatabaseOpen","set","queue","inProgress","closeDatabaseQueue","databaseQueue","getDatabaseQueue","length","delete","has","throwIfDatabaseIsNotOpen","get","queueOperationAsync","callback","Promise","resolve","reject","start","result","error","startOperationAsync","operation","push","shift","setImmediate","startOperationSync"],"sourceRoot":"../../src","sources":["DatabaseQueue.ts"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,17 @@
2
2
 
3
3
  import { HybridNitroSQLite } from "../nitro.js";
4
4
  import NitroSQLiteError from "../NitroSQLiteError.js";
5
+ import { isDatabaseOpen, queueOperationAsync, startOperationSync } from "../DatabaseQueue.js";
5
6
  export function execute(dbName, query, params) {
7
+ if (!isDatabaseOpen(dbName)) {
8
+ return executeNative(dbName, query, params);
9
+ }
10
+ return executeManaged(dbName, query, params);
11
+ }
12
+ export function executeManaged(dbName, query, params) {
13
+ return startOperationSync(dbName, () => executeNative(dbName, query, params));
14
+ }
15
+ export function executeNative(dbName, query, params) {
6
16
  try {
7
17
  const nativeResult = HybridNitroSQLite.execute(dbName, query, params);
8
18
  return buildJSQueryResult(nativeResult);
@@ -11,6 +21,15 @@ export function execute(dbName, query, params) {
11
21
  }
12
22
  }
13
23
  export async function executeAsync(dbName, query, params) {
24
+ if (!isDatabaseOpen(dbName)) {
25
+ return executeAsyncNative(dbName, query, params);
26
+ }
27
+ return executeAsyncManaged(dbName, query, params);
28
+ }
29
+ export async function executeAsyncManaged(dbName, query, params) {
30
+ return queueOperationAsync(dbName, () => executeAsyncNative(dbName, query, params));
31
+ }
32
+ export async function executeAsyncNative(dbName, query, params) {
14
33
  try {
15
34
  const nativeResult = await HybridNitroSQLite.executeAsync(dbName, query, params);
16
35
  return buildJSQueryResult(nativeResult);
@@ -18,21 +37,14 @@ export async function executeAsync(dbName, query, params) {
18
37
  throw NitroSQLiteError.fromError(error);
19
38
  }
20
39
  }
21
- function buildJSQueryResult(result) {
40
+ export function buildJSQueryResult(result) {
22
41
  const resultWithRows = result;
42
+ const results = result.results;
23
43
  resultWithRows.rows = {
24
- _array: result.results,
25
- length: result.results.length,
26
- item: idx => result.results[idx]
44
+ _array: results,
45
+ length: results.length,
46
+ item: idx => results[idx]
27
47
  };
28
48
  return resultWithRows;
29
-
30
- // return Object.assign(result, {
31
- // rows: {
32
- // _array: result.results,
33
- // length: result.results.length,
34
- // item: (idx: number) => result.results[idx],
35
- // },
36
- // })
37
49
  }
38
50
  //# sourceMappingURL=execute.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["HybridNitroSQLite","NitroSQLiteError","execute","dbName","query","params","nativeResult","buildJSQueryResult","error","fromError","executeAsync","result","resultWithRows","rows","_array","results","length","item","idx"],"sourceRoot":"../../../src","sources":["operations/execute.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,aAAU;AAE5C,OAAOC,gBAAgB,MAAM,wBAAqB;AAGlD,OAAO,SAASC,OAAOA,CACrBC,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,IAAI;IACF,MAAMC,YAAY,GAAGN,iBAAiB,CAACE,OAAO,CAACC,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;IACrE,OAAOE,kBAAkB,CAAMD,YAAY,CAAC;EAC9C,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,MAAMP,gBAAgB,CAACQ,SAAS,CAACD,KAAK,CAAC;EACzC;AACF;AAEA,OAAO,eAAeE,YAAYA,CAChCP,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,IAAI;IACF,MAAMC,YAAY,GAAG,MAAMN,iBAAiB,CAACU,YAAY,CACvDP,MAAM,EACNC,KAAK,EACLC,MACF,CAAC;IACD,OAAOE,kBAAkB,CAAMD,YAAY,CAAC;EAC9C,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,MAAMP,gBAAgB,CAACQ,SAAS,CAACD,KAAK,CAAC;EACzC;AACF;AAEA,SAASD,kBAAkBA,CACzBI,MAA8B,EACZ;EAClB,MAAMC,cAAc,GAAGD,MAA0B;EAEjDC,cAAc,CAACC,IAAI,GAAG;IACpBC,MAAM,EAAEH,MAAM,CAACI,OAAgB;IAC/BC,MAAM,EAAEL,MAAM,CAACI,OAAO,CAACC,MAAM;IAC7BC,IAAI,EAAGC,GAAW,IAAKP,MAAM,CAACI,OAAO,CAACG,GAAG;EAC3C,CAAC;EAED,OAAON,cAAc;;EAErB;EACA;EACA;EACA;EACA;EACA;EACA;AACF","ignoreList":[]}
1
+ {"version":3,"names":["HybridNitroSQLite","NitroSQLiteError","isDatabaseOpen","queueOperationAsync","startOperationSync","execute","dbName","query","params","executeNative","executeManaged","nativeResult","buildJSQueryResult","error","fromError","executeAsync","executeAsyncNative","executeAsyncManaged","result","resultWithRows","results","rows","_array","length","item","idx"],"sourceRoot":"../../../src","sources":["operations/execute.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,aAAU;AAE5C,OAAOC,gBAAgB,MAAM,wBAAqB;AAElD,SACEC,cAAc,EACdC,mBAAmB,EACnBC,kBAAkB,QACb,qBAAkB;AAEzB,OAAO,SAASC,OAAOA,CACrBC,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,IAAI,CAACN,cAAc,CAACI,MAAM,CAAC,EAAE;IAC3B,OAAOG,aAAa,CAACH,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;EAC7C;EAEA,OAAOE,cAAc,CAACJ,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;AAC9C;AAEA,OAAO,SAASE,cAAcA,CAC5BJ,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,OAAOJ,kBAAkB,CAACE,MAAM,EAAE,MAAMG,aAAa,CAACH,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC,CAAC;AAC/E;AAEA,OAAO,SAASC,aAAaA,CAC3BH,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,IAAI;IACF,MAAMG,YAAY,GAAGX,iBAAiB,CAACK,OAAO,CAACC,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;IACrE,OAAOI,kBAAkB,CAAMD,YAAY,CAAC;EAC9C,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,MAAMZ,gBAAgB,CAACa,SAAS,CAACD,KAAK,CAAC;EACzC;AACF;AAEA,OAAO,eAAeE,YAAYA,CAChCT,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,IAAI,CAACN,cAAc,CAACI,MAAM,CAAC,EAAE;IAC3B,OAAOU,kBAAkB,CAACV,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;EAClD;EAEA,OAAOS,mBAAmB,CAACX,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC;AACnD;AAEA,OAAO,eAAeS,mBAAmBA,CACvCX,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,OAAOL,mBAAmB,CAACG,MAAM,EAAE,MACjCU,kBAAkB,CAACV,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAC1C,CAAC;AACH;AAEA,OAAO,eAAeQ,kBAAkBA,CACtCV,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,IAAI;IACF,MAAMG,YAAY,GAAG,MAAMX,iBAAiB,CAACe,YAAY,CACvDT,MAAM,EACNC,KAAK,EACLC,MACF,CAAC;IACD,OAAOI,kBAAkB,CAAMD,YAAY,CAAC;EAC9C,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,MAAMZ,gBAAgB,CAACa,SAAS,CAACD,KAAK,CAAC;EACzC;AACF;AAEA,OAAO,SAASD,kBAAkBA,CAChCM,MAA8B,EACZ;EAClB,MAAMC,cAAc,GAAGD,MAA0B;EACjD,MAAME,OAAO,GAAGF,MAAM,CAACE,OAAgB;EAEvCD,cAAc,CAACE,IAAI,GAAG;IACpBC,MAAM,EAAEF,OAAO;IACfG,MAAM,EAAEH,OAAO,CAACG,MAAM;IACtBC,IAAI,EAAGC,GAAW,IAAKL,OAAO,CAACK,GAAG;EACpC,CAAC;EAED,OAAON,cAAc;AACvB","ignoreList":[]}
@@ -2,36 +2,61 @@
2
2
 
3
3
  import { HybridNitroSQLite } from "../nitro.js";
4
4
  import { transaction } from "./transaction.js";
5
- import { execute, executeAsync } from "./execute.js";
5
+ import { executeAsyncManaged, executeManaged } from "./execute.js";
6
6
  import { executeBatch, executeBatchAsync } from "./executeBatch.js";
7
7
  import NitroSQLiteError from "../NitroSQLiteError.js";
8
- import { closeDatabaseQueue, openDatabaseQueue } from "../DatabaseQueue.js";
8
+ import { closeDatabaseQueue, isDatabaseOpen, openDatabaseQueue, queueOperationAsync, startOperationSync } from "../DatabaseQueue.js";
9
9
  export function open(options) {
10
+ openDatabaseQueue(options.name);
10
11
  try {
11
12
  HybridNitroSQLite.open(options.name, options.location);
12
- openDatabaseQueue(options.name);
13
13
  } catch (error) {
14
+ closeDatabaseQueue(options.name);
14
15
  throw NitroSQLiteError.fromError(error);
15
16
  }
16
17
  return {
17
18
  close: () => {
18
19
  try {
19
- HybridNitroSQLite.close(options.name);
20
+ startOperationSync(options.name, () => HybridNitroSQLite.close(options.name));
20
21
  closeDatabaseQueue(options.name);
21
22
  } catch (error) {
22
23
  throw NitroSQLiteError.fromError(error);
23
24
  }
24
25
  },
25
- delete: () => HybridNitroSQLite.drop(options.name, options.location),
26
- attach: (dbNameToAttach, alias, location) => HybridNitroSQLite.attach(options.name, dbNameToAttach, alias, location),
27
- detach: alias => HybridNitroSQLite.detach(options.name, alias),
26
+ delete: () => {
27
+ try {
28
+ if (!isDatabaseOpen(options.name)) {
29
+ HybridNitroSQLite.drop(options.name, options.location);
30
+ return;
31
+ }
32
+ startOperationSync(options.name, () => HybridNitroSQLite.drop(options.name, options.location));
33
+ closeDatabaseQueue(options.name);
34
+ } catch (error) {
35
+ throw NitroSQLiteError.fromError(error);
36
+ }
37
+ },
38
+ attach: (dbNameToAttach, alias, location) => runSyncOperation(options.name, () => HybridNitroSQLite.attach(options.name, dbNameToAttach, alias, location)),
39
+ detach: alias => runSyncOperation(options.name, () => HybridNitroSQLite.detach(options.name, alias)),
28
40
  transaction: fn => transaction(options.name, fn),
29
- execute: (query, params) => execute(options.name, query, params),
30
- executeAsync: (query, params) => executeAsync(options.name, query, params),
41
+ execute: (query, params) => executeManaged(options.name, query, params),
42
+ executeAsync: (query, params) => executeAsyncManaged(options.name, query, params),
31
43
  executeBatch: commands => executeBatch(options.name, commands),
32
44
  executeBatchAsync: commands => executeBatchAsync(options.name, commands),
33
- loadFile: location => HybridNitroSQLite.loadFile(options.name, location),
34
- loadFileAsync: location => HybridNitroSQLite.loadFileAsync(options.name, location)
45
+ loadFile: location => runSyncOperation(options.name, () => HybridNitroSQLite.loadFile(options.name, location)),
46
+ loadFileAsync: location => queueOperationAsync(options.name, async () => {
47
+ try {
48
+ return await HybridNitroSQLite.loadFileAsync(options.name, location);
49
+ } catch (error) {
50
+ throw NitroSQLiteError.fromError(error);
51
+ }
52
+ })
35
53
  };
36
54
  }
55
+ function runSyncOperation(dbName, callback) {
56
+ try {
57
+ return startOperationSync(dbName, callback);
58
+ } catch (error) {
59
+ throw NitroSQLiteError.fromError(error);
60
+ }
61
+ }
37
62
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["HybridNitroSQLite","transaction","execute","executeAsync","executeBatch","executeBatchAsync","NitroSQLiteError","closeDatabaseQueue","openDatabaseQueue","open","options","name","location","error","fromError","close","delete","drop","attach","dbNameToAttach","alias","detach","fn","query","params","commands","loadFile","loadFileAsync"],"sourceRoot":"../../../src","sources":["operations/session.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,aAAU;AAC5C,SAASC,WAAW,QAAQ,kBAAe;AAU3C,SAASC,OAAO,EAAEC,YAAY,QAAQ,cAAW;AACjD,SAASC,YAAY,EAAEC,iBAAiB,QAAQ,mBAAgB;AAChE,OAAOC,gBAAgB,MAAM,wBAAqB;AAClD,SAASC,kBAAkB,EAAEC,iBAAiB,QAAQ,qBAAkB;AAExE,OAAO,SAASC,IAAIA,CAClBC,OAAqC,EACd;EACvB,IAAI;IACFV,iBAAiB,CAACS,IAAI,CAACC,OAAO,CAACC,IAAI,EAAED,OAAO,CAACE,QAAQ,CAAC;IACtDJ,iBAAiB,CAACE,OAAO,CAACC,IAAI,CAAC;EACjC,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,MAAMP,gBAAgB,CAACQ,SAAS,CAACD,KAAK,CAAC;EACzC;EAEA,OAAO;IACLE,KAAK,EAAEA,CAAA,KAAM;MACX,IAAI;QACFf,iBAAiB,CAACe,KAAK,CAACL,OAAO,CAACC,IAAI,CAAC;QACrCJ,kBAAkB,CAACG,OAAO,CAACC,IAAI,CAAC;MAClC,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd,MAAMP,gBAAgB,CAACQ,SAAS,CAACD,KAAK,CAAC;MACzC;IACF,CAAC;IACDG,MAAM,EAAEA,CAAA,KAAMhB,iBAAiB,CAACiB,IAAI,CAACP,OAAO,CAACC,IAAI,EAAED,OAAO,CAACE,QAAQ,CAAC;IACpEM,MAAM,EAAEA,CAACC,cAAsB,EAAEC,KAAa,EAAER,QAAiB,KAC/DZ,iBAAiB,CAACkB,MAAM,CAACR,OAAO,CAACC,IAAI,EAAEQ,cAAc,EAAEC,KAAK,EAAER,QAAQ,CAAC;IACzES,MAAM,EAAGD,KAAa,IAAKpB,iBAAiB,CAACqB,MAAM,CAACX,OAAO,CAACC,IAAI,EAAES,KAAK,CAAC;IACxEnB,WAAW,EAAkBqB,EAAwC,IACnErB,WAAW,CAACS,OAAO,CAACC,IAAI,EAAEW,EAAE,CAAC;IAC/BpB,OAAO,EAAEA,CACPqB,KAAa,EACbC,MAA0B,KACLtB,OAAO,CAACQ,OAAO,CAACC,IAAI,EAAEY,KAAK,EAAEC,MAAM,CAAC;IAC3DrB,YAAY,EAAEA,CACZoB,KAAa,EACbC,MAA0B,KACIrB,YAAY,CAACO,OAAO,CAACC,IAAI,EAAEY,KAAK,EAAEC,MAAM,CAAC;IACzEpB,YAAY,EAAGqB,QAA6B,IAC1CrB,YAAY,CAACM,OAAO,CAACC,IAAI,EAAEc,QAAQ,CAAC;IACtCpB,iBAAiB,EAAGoB,QAA6B,IAC/CpB,iBAAiB,CAACK,OAAO,CAACC,IAAI,EAAEc,QAAQ,CAAC;IAC3CC,QAAQ,EAAGd,QAAgB,IACzBZ,iBAAiB,CAAC0B,QAAQ,CAAChB,OAAO,CAACC,IAAI,EAAEC,QAAQ,CAAC;IACpDe,aAAa,EAAGf,QAAgB,IAC9BZ,iBAAiB,CAAC2B,aAAa,CAACjB,OAAO,CAACC,IAAI,EAAEC,QAAQ;EAC1D,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["HybridNitroSQLite","transaction","executeAsyncManaged","executeManaged","executeBatch","executeBatchAsync","NitroSQLiteError","closeDatabaseQueue","isDatabaseOpen","openDatabaseQueue","queueOperationAsync","startOperationSync","open","options","name","location","error","fromError","close","delete","drop","attach","dbNameToAttach","alias","runSyncOperation","detach","fn","execute","query","params","executeAsync","commands","loadFile","loadFileAsync","dbName","callback"],"sourceRoot":"../../../src","sources":["operations/session.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { queueOperationAsync, throwIfDatabaseIsNotOpen } from "../DatabaseQueue.js";
4
- import { execute, executeAsync } from "./execute.js";
4
+ import { executeAsyncNative, executeNative } from "./execute.js";
5
5
  import NitroSQLiteError from "../NitroSQLiteError.js";
6
6
  export const transaction = async (dbName, transactionCallback, isExclusive = false) => {
7
7
  throwIfDatabaseIsNotOpen(dbName);
@@ -10,31 +10,31 @@ export const transaction = async (dbName, transactionCallback, isExclusive = fal
10
10
  if (isFinished) {
11
11
  throw new NitroSQLiteError(`Cannot execute query on finalized transaction: ${dbName}`);
12
12
  }
13
- return execute(dbName, query, params);
13
+ return executeNative(dbName, query, params);
14
14
  };
15
15
  const executeAsyncOnTransaction = (query, params) => {
16
16
  if (isFinished) {
17
17
  throw new NitroSQLiteError(`Cannot execute query on finalized transaction: ${dbName}`);
18
18
  }
19
- return executeAsync(dbName, query, params);
19
+ return executeAsyncNative(dbName, query, params);
20
20
  };
21
21
  const commit = () => {
22
22
  if (isFinished) {
23
23
  throw new NitroSQLiteError(`Cannot execute commit on finalized transaction: ${dbName}`);
24
24
  }
25
25
  isFinished = true;
26
- return execute(dbName, 'COMMIT');
26
+ return executeNative(dbName, 'COMMIT');
27
27
  };
28
28
  const rollback = () => {
29
29
  if (isFinished) {
30
30
  throw new NitroSQLiteError(`Cannot execute rollback on finalized transaction: ${dbName}`);
31
31
  }
32
32
  isFinished = true;
33
- return execute(dbName, 'ROLLBACK');
33
+ return executeNative(dbName, 'ROLLBACK');
34
34
  };
35
35
  return await queueOperationAsync(dbName, async () => {
36
36
  try {
37
- await executeAsync(dbName, isExclusive ? 'BEGIN EXCLUSIVE TRANSACTION' : 'BEGIN TRANSACTION');
37
+ await executeAsyncNative(dbName, isExclusive ? 'BEGIN EXCLUSIVE TRANSACTION' : 'BEGIN TRANSACTION');
38
38
  const result = await transactionCallback({
39
39
  commit,
40
40
  execute: executeOnTransaction,
@@ -1 +1 @@
1
- {"version":3,"names":["queueOperationAsync","throwIfDatabaseIsNotOpen","execute","executeAsync","NitroSQLiteError","transaction","dbName","transactionCallback","isExclusive","isFinished","executeOnTransaction","query","params","executeAsyncOnTransaction","commit","rollback","result","executionError","rollbackError","fromError"],"sourceRoot":"../../../src","sources":["operations/transaction.ts"],"mappings":";;AAAA,SAASA,mBAAmB,EAAEC,wBAAwB,QAAQ,qBAAkB;AAOhF,SAASC,OAAO,EAAEC,YAAY,QAAQ,cAAW;AACjD,OAAOC,gBAAgB,MAAM,wBAAqB;AAElD,OAAO,MAAMC,WAAW,GAAG,MAAAA,CACzBC,MAAc,EACdC,mBAAyD,EACzDC,WAAW,GAAG,KAAK,KAChB;EACHP,wBAAwB,CAACK,MAAM,CAAC;EAEhC,IAAIG,UAAU,GAAG,KAAK;EAEtB,MAAMC,oBAAoB,GAAGA,CAC3BC,KAAa,EACbC,MAA0B,KACL;IACrB,IAAIH,UAAU,EAAE;MACd,MAAM,IAAIL,gBAAgB,CACxB,kDAAkDE,MAAM,EAC1D,CAAC;IACH;IACA,OAAOJ,OAAO,CAACI,MAAM,EAAEK,KAAK,EAAEC,MAAM,CAAC;EACvC,CAAC;EAED,MAAMC,yBAAyB,GAAGA,CAChCF,KAAa,EACbC,MAA0B,KACI;IAC9B,IAAIH,UAAU,EAAE;MACd,MAAM,IAAIL,gBAAgB,CACxB,kDAAkDE,MAAM,EAC1D,CAAC;IACH;IACA,OAAOH,YAAY,CAACG,MAAM,EAAEK,KAAK,EAAEC,MAAM,CAAC;EAC5C,CAAC;EAED,MAAME,MAAM,GAAGA,CAAA,KAAM;IACnB,IAAIL,UAAU,EAAE;MACd,MAAM,IAAIL,gBAAgB,CACxB,mDAAmDE,MAAM,EAC3D,CAAC;IACH;IACAG,UAAU,GAAG,IAAI;IACjB,OAAOP,OAAO,CAACI,MAAM,EAAE,QAAQ,CAAC;EAClC,CAAC;EAED,MAAMS,QAAQ,GAAGA,CAAA,KAAM;IACrB,IAAIN,UAAU,EAAE;MACd,MAAM,IAAIL,gBAAgB,CACxB,qDAAqDE,MAAM,EAC7D,CAAC;IACH;IACAG,UAAU,GAAG,IAAI;IACjB,OAAOP,OAAO,CAACI,MAAM,EAAE,UAAU,CAAC;EACpC,CAAC;EAED,OAAO,MAAMN,mBAAmB,CAACM,MAAM,EAAE,YAAY;IACnD,IAAI;MACF,MAAMH,YAAY,CAChBG,MAAM,EACNE,WAAW,GAAG,6BAA6B,GAAG,mBAChD,CAAC;MAED,MAAMQ,MAAM,GAAG,MAAMT,mBAAmB,CAAC;QACvCO,MAAM;QACNZ,OAAO,EAAEQ,oBAAoB;QAC7BP,YAAY,EAAEU,yBAAyB;QACvCE;MACF,CAAC,CAAC;MAEF,IAAI,CAACN,UAAU,EAAEK,MAAM,CAAC,CAAC;MAEzB,OAAOE,MAAM;IACf,CAAC,CAAC,OAAOC,cAAc,EAAE;MACvB,IAAI,CAACR,UAAU,EAAE;QACf,IAAI;UACFM,QAAQ,CAAC,CAAC;QACZ,CAAC,CAAC,OAAOG,aAAa,EAAE;UACtB,MAAMd,gBAAgB,CAACe,SAAS,CAACD,aAAa,CAAC;QACjD;MACF;MAEA,MAAMd,gBAAgB,CAACe,SAAS,CAACF,cAAc,CAAC;IAClD;EACF,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["queueOperationAsync","throwIfDatabaseIsNotOpen","executeAsyncNative","executeNative","NitroSQLiteError","transaction","dbName","transactionCallback","isExclusive","isFinished","executeOnTransaction","query","params","executeAsyncOnTransaction","commit","rollback","result","execute","executeAsync","executionError","rollbackError","fromError"],"sourceRoot":"../../../src","sources":["operations/transaction.ts"],"mappings":";;AAAA,SAASA,mBAAmB,EAAEC,wBAAwB,QAAQ,qBAAkB;AAOhF,SAASC,kBAAkB,EAAEC,aAAa,QAAQ,cAAW;AAC7D,OAAOC,gBAAgB,MAAM,wBAAqB;AAElD,OAAO,MAAMC,WAAW,GAAG,MAAAA,CACzBC,MAAc,EACdC,mBAAyD,EACzDC,WAAW,GAAG,KAAK,KAChB;EACHP,wBAAwB,CAACK,MAAM,CAAC;EAEhC,IAAIG,UAAU,GAAG,KAAK;EAEtB,MAAMC,oBAAoB,GAAGA,CAC3BC,KAAa,EACbC,MAA0B,KACL;IACrB,IAAIH,UAAU,EAAE;MACd,MAAM,IAAIL,gBAAgB,CACxB,kDAAkDE,MAAM,EAC1D,CAAC;IACH;IACA,OAAOH,aAAa,CAACG,MAAM,EAAEK,KAAK,EAAEC,MAAM,CAAC;EAC7C,CAAC;EAED,MAAMC,yBAAyB,GAAGA,CAChCF,KAAa,EACbC,MAA0B,KACI;IAC9B,IAAIH,UAAU,EAAE;MACd,MAAM,IAAIL,gBAAgB,CACxB,kDAAkDE,MAAM,EAC1D,CAAC;IACH;IACA,OAAOJ,kBAAkB,CAACI,MAAM,EAAEK,KAAK,EAAEC,MAAM,CAAC;EAClD,CAAC;EAED,MAAME,MAAM,GAAGA,CAAA,KAAM;IACnB,IAAIL,UAAU,EAAE;MACd,MAAM,IAAIL,gBAAgB,CACxB,mDAAmDE,MAAM,EAC3D,CAAC;IACH;IACAG,UAAU,GAAG,IAAI;IACjB,OAAON,aAAa,CAACG,MAAM,EAAE,QAAQ,CAAC;EACxC,CAAC;EAED,MAAMS,QAAQ,GAAGA,CAAA,KAAM;IACrB,IAAIN,UAAU,EAAE;MACd,MAAM,IAAIL,gBAAgB,CACxB,qDAAqDE,MAAM,EAC7D,CAAC;IACH;IACAG,UAAU,GAAG,IAAI;IACjB,OAAON,aAAa,CAACG,MAAM,EAAE,UAAU,CAAC;EAC1C,CAAC;EAED,OAAO,MAAMN,mBAAmB,CAACM,MAAM,EAAE,YAAY;IACnD,IAAI;MACF,MAAMJ,kBAAkB,CACtBI,MAAM,EACNE,WAAW,GAAG,6BAA6B,GAAG,mBAChD,CAAC;MAED,MAAMQ,MAAM,GAAG,MAAMT,mBAAmB,CAAC;QACvCO,MAAM;QACNG,OAAO,EAAEP,oBAAoB;QAC7BQ,YAAY,EAAEL,yBAAyB;QACvCE;MACF,CAAC,CAAC;MAEF,IAAI,CAACN,UAAU,EAAEK,MAAM,CAAC,CAAC;MAEzB,OAAOE,MAAM;IACf,CAAC,CAAC,OAAOG,cAAc,EAAE;MACvB,IAAI,CAACV,UAAU,EAAE;QACf,IAAI;UACFM,QAAQ,CAAC,CAAC;QACZ,CAAC,CAAC,OAAOK,aAAa,EAAE;UACtB,MAAMhB,gBAAgB,CAACiB,SAAS,CAACD,aAAa,CAAC;QACjD;MACF;MAEA,MAAMhB,gBAAgB,CAACiB,SAAS,CAACF,cAAc,CAAC;IAClD;EACF,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
@@ -13,8 +13,6 @@ export declare function closeDatabaseQueue(dbName: string): void;
13
13
  export declare function isDatabaseOpen(dbName: string): boolean;
14
14
  export declare function throwIfDatabaseIsNotOpen(dbName: string): void;
15
15
  export declare function getDatabaseQueue(dbName: string): DatabaseQueue;
16
- export declare function openDatabase(dbName: string): void;
17
- export declare function closeDatabase(dbName: string): void;
18
16
  export declare function queueOperationAsync<Result>(dbName: string, callback: () => Promise<Result>): Promise<Result>;
19
- export declare function startOperationSync<OperationCallback extends () => Result, Result = void>(dbName: string, callback: OperationCallback): Result;
17
+ export declare function startOperationSync<Result>(dbName: string, callback: () => Result): Result;
20
18
  //# sourceMappingURL=DatabaseQueue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseQueue.d.ts","sourceRoot":"","sources":["../../../src/DatabaseQueue.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,QAQ/C;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,QAUhD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,WAE5C;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,QAKtD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,iBAK9C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,QAE1C;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,QAE3C;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EACxC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,mBAwBhC;AAkBD,wBAAgB,kBAAkB,CAChC,iBAAiB,SAAS,MAAM,MAAM,EACtC,MAAM,GAAG,IAAI,EACb,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,UAiB5C"}
1
+ {"version":3,"file":"DatabaseQueue.d.ts","sourceRoot":"","sources":["../../../src/DatabaseQueue.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,QAQ/C;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,QAUhD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,WAE5C;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,QAKtD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,iBAK9C;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EACxC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,mBAwBhC;AAgBD,wBAAgB,kBAAkB,CAAC,MAAM,EACvC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,MAAM,GACrB,MAAM,CAiBR"}