react-native-nitro-sqlite 9.1.11 → 9.2.1

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 (112) hide show
  1. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  2. package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
  3. package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
  4. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  5. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  6. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/8.9/gc.properties +0 -0
  8. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  9. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  10. package/android/.gradle/vcs-1/gc.properties +0 -0
  11. package/android/CMakeLists.txt +0 -1
  12. package/android/build.gradle +2 -2
  13. package/cpp/NitroSQLiteException.hpp +16 -13
  14. package/cpp/importSqlFile.cpp +2 -2
  15. package/cpp/logs.hpp +14 -12
  16. package/cpp/operations.cpp +29 -28
  17. package/cpp/operations.hpp +1 -1
  18. package/cpp/specs/HybridNativeQueryResult.hpp +1 -1
  19. package/cpp/specs/HybridNitroSQLite.cpp +5 -5
  20. package/cpp/specs/HybridNitroSQLite.hpp +16 -13
  21. package/cpp/sqliteExecuteBatch.cpp +1 -1
  22. package/cpp/types.hpp +3 -3
  23. package/cpp/utils.hpp +2 -3
  24. package/lib/commonjs/DatabaseQueue.js +104 -0
  25. package/lib/commonjs/DatabaseQueue.js.map +1 -0
  26. package/lib/commonjs/NitroSQLiteError.js +50 -0
  27. package/lib/commonjs/NitroSQLiteError.js.map +1 -0
  28. package/lib/commonjs/index.js +9 -1
  29. package/lib/commonjs/index.js.map +1 -1
  30. package/lib/commonjs/nitro.js +1 -2
  31. package/lib/commonjs/nitro.js.map +1 -1
  32. package/lib/commonjs/nullHandling.js +1 -1
  33. package/lib/commonjs/nullHandling.js.map +1 -1
  34. package/lib/commonjs/operations/execute.js +14 -6
  35. package/lib/commonjs/operations/execute.js.map +1 -1
  36. package/lib/commonjs/operations/executeBatch.js +17 -4
  37. package/lib/commonjs/operations/executeBatch.js.map +1 -1
  38. package/lib/commonjs/operations/session.js +17 -15
  39. package/lib/commonjs/operations/session.js.map +1 -1
  40. package/lib/commonjs/operations/transaction.js +26 -54
  41. package/lib/commonjs/operations/transaction.js.map +1 -1
  42. package/lib/commonjs/typeORM.js +1 -2
  43. package/lib/commonjs/typeORM.js.map +1 -1
  44. package/lib/commonjs/types.js.map +1 -1
  45. package/lib/module/DatabaseQueue.js +91 -0
  46. package/lib/module/DatabaseQueue.js.map +1 -0
  47. package/lib/module/NitroSQLiteError.js +45 -0
  48. package/lib/module/NitroSQLiteError.js.map +1 -0
  49. package/lib/module/index.js +2 -1
  50. package/lib/module/index.js.map +1 -1
  51. package/lib/module/nitro.js +0 -1
  52. package/lib/module/nitro.js.map +1 -1
  53. package/lib/module/nullHandling.js +1 -1
  54. package/lib/module/nullHandling.js.map +1 -1
  55. package/lib/module/operations/execute.js +13 -6
  56. package/lib/module/operations/execute.js.map +1 -1
  57. package/lib/module/operations/executeBatch.js +16 -4
  58. package/lib/module/operations/executeBatch.js.map +1 -1
  59. package/lib/module/operations/session.js +17 -14
  60. package/lib/module/operations/session.js.map +1 -1
  61. package/lib/module/operations/transaction.js +25 -54
  62. package/lib/module/operations/transaction.js.map +1 -1
  63. package/lib/module/types.js.map +1 -1
  64. package/lib/typescript/commonjs/DatabaseQueue.d.ts +20 -0
  65. package/lib/typescript/commonjs/DatabaseQueue.d.ts.map +1 -0
  66. package/lib/typescript/commonjs/NitroSQLiteError.d.ts +13 -0
  67. package/lib/typescript/commonjs/NitroSQLiteError.d.ts.map +1 -0
  68. package/lib/typescript/commonjs/index.d.ts +4 -3
  69. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/nitro.d.ts +0 -5
  71. package/lib/typescript/commonjs/nitro.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/nullHandling.d.ts +1 -1
  73. package/lib/typescript/commonjs/nullHandling.d.ts.map +1 -1
  74. package/lib/typescript/commonjs/operations/execute.d.ts.map +1 -1
  75. package/lib/typescript/commonjs/operations/executeBatch.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/operations/session.d.ts +0 -2
  77. package/lib/typescript/commonjs/operations/session.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/operations/transaction.d.ts +1 -4
  79. package/lib/typescript/commonjs/operations/transaction.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/types.d.ts +1 -1
  81. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  82. package/lib/typescript/module/DatabaseQueue.d.ts +20 -0
  83. package/lib/typescript/module/DatabaseQueue.d.ts.map +1 -0
  84. package/lib/typescript/module/NitroSQLiteError.d.ts +13 -0
  85. package/lib/typescript/module/NitroSQLiteError.d.ts.map +1 -0
  86. package/lib/typescript/module/index.d.ts +4 -3
  87. package/lib/typescript/module/index.d.ts.map +1 -1
  88. package/lib/typescript/module/nitro.d.ts +0 -5
  89. package/lib/typescript/module/nitro.d.ts.map +1 -1
  90. package/lib/typescript/module/nullHandling.d.ts +1 -1
  91. package/lib/typescript/module/nullHandling.d.ts.map +1 -1
  92. package/lib/typescript/module/operations/execute.d.ts.map +1 -1
  93. package/lib/typescript/module/operations/executeBatch.d.ts.map +1 -1
  94. package/lib/typescript/module/operations/session.d.ts +0 -2
  95. package/lib/typescript/module/operations/session.d.ts.map +1 -1
  96. package/lib/typescript/module/operations/transaction.d.ts +1 -4
  97. package/lib/typescript/module/operations/transaction.d.ts.map +1 -1
  98. package/lib/typescript/module/types.d.ts +1 -1
  99. package/lib/typescript/module/types.d.ts.map +1 -1
  100. package/package.json +15 -15
  101. package/src/DatabaseQueue.ts +129 -0
  102. package/src/NitroSQLiteError.ts +45 -0
  103. package/src/index.ts +3 -2
  104. package/src/nitro.ts +0 -6
  105. package/src/nullHandling.ts +8 -4
  106. package/src/operations/execute.ts +27 -19
  107. package/src/operations/executeBatch.ts +30 -10
  108. package/src/operations/session.ts +21 -21
  109. package/src/operations/transaction.ts +42 -85
  110. package/src/specs/NitroSQLite.nitro.ts +5 -5
  111. package/src/typeORM.ts +6 -6
  112. package/src/types.ts +5 -3
@@ -1 +1 @@
1
- {"version":3,"names":["isNitroSQLiteNull","isSimpleNullHandlingEnabled","HybridNitroSQLite","replaceWithNativeNullValue","execute","dbName","query","params","transformedParams","toNativeQueryParams","nativeResult","result","buildJsQueryResult","executeAsync","map","param","insertId","rowsAffected","results","data","row","Object","fromEntries","entries","key","value","rows","_array","length","item","idx"],"sourceRoot":"../../../src","sources":["operations/execute.ts"],"mappings":";;AAAA,SAASA,iBAAiB,EAAEC,2BAA2B,QAAQ,oBAAiB;AAChF,SAASC,iBAAiB,QAAQ,aAAU;AAC5C,SAASC,0BAA0B,QAAQ,oBAAiB;AAS5D,OAAO,SAASC,OAAOA,CACrBC,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,MAAMC,iBAAiB,GAAGP,2BAA2B,CAAC,CAAC,GACnDQ,mBAAmB,CAACF,MAAM,CAAC,GAC1BA,MAAkC;EAEvC,MAAMG,YAAY,GAAGR,iBAAiB,CAACE,OAAO,CAC5CC,MAAM,EACNC,KAAK,EACLE,iBACF,CAAC;EACD,MAAMG,MAAM,GAAGC,kBAAkB,CAAMF,YAAY,CAAC;EACpD,OAAOC,MAAM;AACf;AAEA,OAAO,eAAeE,YAAYA,CAChCR,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,MAAMC,iBAAiB,GAAGP,2BAA2B,CAAC,CAAC,GACnDQ,mBAAmB,CAACF,MAAM,CAAC,GAC1BA,MAAkC;EAEvC,MAAMG,YAAY,GAAG,MAAMR,iBAAiB,CAACW,YAAY,CACvDR,MAAM,EACNC,KAAK,EACLE,iBACF,CAAC;EACD,MAAMG,MAAM,GAAGC,kBAAkB,CAAMF,YAAY,CAAC;EACpD,OAAOC,MAAM;AACf;AAEA,SAASF,mBAAmBA,CAC1BF,MAAqC,EACA;EACrC,OAAOA,MAAM,EAAEO,GAAG,CAAEC,KAAK,IAAKZ,0BAA0B,CAACY,KAAK,CAAC,CAAC;AAClE;AAEA,SAASH,kBAAkBA,CAAqC;EAC9DI,QAAQ;EACRC,YAAY;EACZC;AACiB,CAAC,EAAoB;EACtC,IAAIC,IAAW,GAAGD,OAAgB;EAElC,IAAIjB,2BAA2B,CAAC,CAAC,EAAE;IACjCkB,IAAI,GAAGD,OAAO,CAACJ,GAAG,CAAEM,GAAG,IACrBC,MAAM,CAACC,WAAW,CAChBD,MAAM,CAACE,OAAO,CAACH,GAAG,CAAC,CAACN,GAAG,CAAC,CAAC,CAACU,GAAG,EAAEC,KAAK,CAAC,KAAK;MACxC,IAAIzB,iBAAiB,CAACyB,KAAK,CAAC,EAAE;QAC5B,OAAO,CAACD,GAAG,EAAE,IAAI,CAAC;MACpB;MACA,OAAO,CAACA,GAAG,EAAEC,KAAK,CAAC;IACrB,CAAC,CACH,CACF,CAAU;EACZ;EAEA,OAAO;IACLT,QAAQ;IACRC,YAAY;IACZS,IAAI,EAAE;MACJC,MAAM,EAAER,IAAI;MACZS,MAAM,EAAET,IAAI,CAACS,MAAM;MACnBC,IAAI,EAAGC,GAAW,IAAKX,IAAI,CAACW,GAAG;IACjC;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["isNitroSQLiteNull","isSimpleNullHandlingEnabled","HybridNitroSQLite","replaceWithNativeNullValue","NitroSQLiteError","execute","dbName","query","params","transformedParams","toNativeQueryParams","nativeResult","buildJsQueryResult","error","fromError","executeAsync","map","param","insertId","rowsAffected","results","data","row","Object","fromEntries","entries","key","value","rows","_array","length","item","idx"],"sourceRoot":"../../../src","sources":["operations/execute.ts"],"mappings":";;AAAA,SAASA,iBAAiB,EAAEC,2BAA2B,QAAQ,oBAAiB;AAChF,SAASC,iBAAiB,QAAQ,aAAU;AAC5C,SAASC,0BAA0B,QAAQ,oBAAiB;AAQ5D,OAAOC,gBAAgB,MAAM,wBAAqB;AAElD,OAAO,SAASC,OAAOA,CACrBC,MAAc,EACdC,KAAa,EACbC,MAA0B,EACR;EAClB,MAAMC,iBAAiB,GAAGR,2BAA2B,CAAC,CAAC,GACnDS,mBAAmB,CAACF,MAAM,CAAC,GAC1BA,MAAkC;EAEvC,IAAI;IACF,MAAMG,YAAY,GAAGT,iBAAiB,CAACG,OAAO,CAC5CC,MAAM,EACNC,KAAK,EACLE,iBACF,CAAC;IAED,OAAOG,kBAAkB,CAAMD,YAAY,CAAC;EAC9C,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,MAAMT,gBAAgB,CAACU,SAAS,CAACD,KAAK,CAAC;EACzC;AACF;AAEA,OAAO,eAAeE,YAAYA,CAChCT,MAAc,EACdC,KAAa,EACbC,MAA0B,EACC;EAC3B,MAAMC,iBAAiB,GAAGR,2BAA2B,CAAC,CAAC,GACnDS,mBAAmB,CAACF,MAAM,CAAC,GAC1BA,MAAkC;EAEvC,IAAI;IACF,MAAMG,YAAY,GAAG,MAAMT,iBAAiB,CAACa,YAAY,CACvDT,MAAM,EACNC,KAAK,EACLE,iBACF,CAAC;IACD,OAAOG,kBAAkB,CAAMD,YAAY,CAAC;EAC9C,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,MAAMT,gBAAgB,CAACU,SAAS,CAACD,KAAK,CAAC;EACzC;AACF;AAEA,SAASH,mBAAmBA,CAC1BF,MAAqC,EACA;EACrC,OAAOA,MAAM,EAAEQ,GAAG,CAAEC,KAAK,IAAKd,0BAA0B,CAACc,KAAK,CAAC,CAAC;AAClE;AAEA,SAASL,kBAAkBA,CAAqC;EAC9DM,QAAQ;EACRC,YAAY;EACZC;AACiB,CAAC,EAAoB;EACtC,IAAIC,IAAW,GAAGD,OAAgB;EAElC,IAAInB,2BAA2B,CAAC,CAAC,EAAE;IACjCoB,IAAI,GAAGD,OAAO,CAACJ,GAAG,CAAEM,GAAG,IACrBC,MAAM,CAACC,WAAW,CAChBD,MAAM,CAACE,OAAO,CAACH,GAAG,CAAC,CAACN,GAAG,CAAC,CAAC,CAACU,GAAG,EAAEC,KAAK,CAAC,KAAK;MACxC,IAAI3B,iBAAiB,CAAC2B,KAAK,CAAC,EAAE;QAC5B,OAAO,CAACD,GAAG,EAAE,IAAI,CAAC;MACpB;MACA,OAAO,CAACA,GAAG,EAAEC,KAAK,CAAC;IACrB,CAAC,CACH,CACF,CAAU;EACZ;EAEA,OAAO;IACLT,QAAQ;IACRC,YAAY;IACZS,IAAI,EAAE;MACJC,MAAM,EAAER,IAAI;MACZS,MAAM,EAAET,IAAI,CAACS,MAAM;MACnBC,IAAI,EAAGC,GAAW,IAAKX,IAAI,CAACW,GAAG;IACjC;EACF,CAAC;AACH","ignoreList":[]}
@@ -2,15 +2,27 @@
2
2
 
3
3
  import { isSimpleNullHandlingEnabled, replaceWithNativeNullValue } from "../nullHandling.js";
4
4
  import { HybridNitroSQLite } from "../nitro.js";
5
+ import { queueOperationAsync, startOperationSync, throwIfDatabaseIsNotOpen } from "../DatabaseQueue.js";
6
+ import NitroSQLiteError from "../NitroSQLiteError.js";
5
7
  export function executeBatch(dbName, commands) {
8
+ throwIfDatabaseIsNotOpen(dbName);
6
9
  const transformedCommands = isSimpleNullHandlingEnabled() ? toNativeBatchQueryCommands(commands) : commands;
7
- const result = HybridNitroSQLite.executeBatch(dbName, transformedCommands);
8
- return result;
10
+ try {
11
+ return startOperationSync(dbName, () => HybridNitroSQLite.executeBatch(dbName, transformedCommands));
12
+ } catch (error) {
13
+ throw NitroSQLiteError.fromError(error);
14
+ }
9
15
  }
10
16
  export async function executeBatchAsync(dbName, commands) {
17
+ throwIfDatabaseIsNotOpen(dbName);
11
18
  const transformedCommands = isSimpleNullHandlingEnabled() ? toNativeBatchQueryCommands(commands) : commands;
12
- const result = await HybridNitroSQLite.executeBatchAsync(dbName, transformedCommands);
13
- return result;
19
+ return queueOperationAsync(dbName, async () => {
20
+ try {
21
+ return await HybridNitroSQLite.executeBatchAsync(dbName, transformedCommands);
22
+ } catch (error) {
23
+ throw NitroSQLiteError.fromError(error);
24
+ }
25
+ });
14
26
  }
15
27
  function toNativeBatchQueryCommands(commands) {
16
28
  return commands.map(command => {
@@ -1 +1 @@
1
- {"version":3,"names":["isSimpleNullHandlingEnabled","replaceWithNativeNullValue","HybridNitroSQLite","executeBatch","dbName","commands","transformedCommands","toNativeBatchQueryCommands","result","executeBatchAsync","map","command","transformedParams","params","param","Array","isArray","p","query"],"sourceRoot":"../../../src","sources":["operations/executeBatch.ts"],"mappings":";;AAAA,SACEA,2BAA2B,EAC3BC,0BAA0B,QACrB,oBAAiB;AACxB,SAASC,iBAAiB,QAAQ,aAAU;AAQ5C,OAAO,SAASC,YAAYA,CAC1BC,MAAc,EACdC,QAA6B,EACX;EAClB,MAAMC,mBAAmB,GAAGN,2BAA2B,CAAC,CAAC,GACrDO,0BAA0B,CAACF,QAAQ,CAAC,GACnCA,QAAsC;EAE3C,MAAMG,MAAM,GAAGN,iBAAiB,CAACC,YAAY,CAACC,MAAM,EAAEE,mBAAmB,CAAC;EAC1E,OAAOE,MAAM;AACf;AAEA,OAAO,eAAeC,iBAAiBA,CACrCL,MAAc,EACdC,QAA6B,EACF;EAC3B,MAAMC,mBAAmB,GAAGN,2BAA2B,CAAC,CAAC,GACrDO,0BAA0B,CAACF,QAAQ,CAAC,GACnCA,QAAsC;EAE3C,MAAMG,MAAM,GAAG,MAAMN,iBAAiB,CAACO,iBAAiB,CACtDL,MAAM,EACNE,mBACF,CAAC;EACD,OAAOE,MAAM;AACf;AAEA,SAASD,0BAA0BA,CACjCF,QAA6B,EACF;EAC3B,OAAOA,QAAQ,CAACK,GAAG,CAAEC,OAAO,IAAK;IAC/B,MAAMC,iBAAiB,GAAGD,OAAO,CAACE,MAAM,EAAEH,GAAG,CAAEI,KAAK,IAAK;MACvD,IAAIC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;QACxB,OAAOA,KAAK,CAACJ,GAAG,CAAEO,CAAC,IAAKhB,0BAA0B,CAACgB,CAAC,CAAC,CAAC;MACxD;MACA,OAAOhB,0BAA0B,CAACa,KAAK,CAAC;IAC1C,CAAC,CAAwD;IAEzD,OAAO;MACLI,KAAK,EAAEP,OAAO,CAACO,KAAK;MACpBL,MAAM,EAAED;IACV,CAAC;EACH,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["isSimpleNullHandlingEnabled","replaceWithNativeNullValue","HybridNitroSQLite","queueOperationAsync","startOperationSync","throwIfDatabaseIsNotOpen","NitroSQLiteError","executeBatch","dbName","commands","transformedCommands","toNativeBatchQueryCommands","error","fromError","executeBatchAsync","map","command","transformedParams","params","param","Array","isArray","p","query"],"sourceRoot":"../../../src","sources":["operations/executeBatch.ts"],"mappings":";;AAAA,SACEA,2BAA2B,EAC3BC,0BAA0B,QACrB,oBAAiB;AACxB,SAASC,iBAAiB,QAAQ,aAAU;AAC5C,SACEC,mBAAmB,EACnBC,kBAAkB,EAClBC,wBAAwB,QACnB,qBAAkB;AAOzB,OAAOC,gBAAgB,MAAM,wBAAqB;AAElD,OAAO,SAASC,YAAYA,CAC1BC,MAAc,EACdC,QAA6B,EACX;EAClBJ,wBAAwB,CAACG,MAAM,CAAC;EAEhC,MAAME,mBAAmB,GAAGV,2BAA2B,CAAC,CAAC,GACrDW,0BAA0B,CAACF,QAAQ,CAAC,GACnCA,QAAsC;EAE3C,IAAI;IACF,OAAOL,kBAAkB,CAACI,MAAM,EAAE,MAChCN,iBAAiB,CAACK,YAAY,CAACC,MAAM,EAAEE,mBAAmB,CAC5D,CAAC;EACH,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,MAAMN,gBAAgB,CAACO,SAAS,CAACD,KAAK,CAAC;EACzC;AACF;AAEA,OAAO,eAAeE,iBAAiBA,CACrCN,MAAc,EACdC,QAA6B,EACF;EAC3BJ,wBAAwB,CAACG,MAAM,CAAC;EAEhC,MAAME,mBAAmB,GAAGV,2BAA2B,CAAC,CAAC,GACrDW,0BAA0B,CAACF,QAAQ,CAAC,GACnCA,QAAsC;EAE3C,OAAON,mBAAmB,CAACK,MAAM,EAAE,YAAY;IAC7C,IAAI;MACF,OAAO,MAAMN,iBAAiB,CAACY,iBAAiB,CAC9CN,MAAM,EACNE,mBACF,CAAC;IACH,CAAC,CAAC,OAAOE,KAAK,EAAE;MACd,MAAMN,gBAAgB,CAACO,SAAS,CAACD,KAAK,CAAC;IACzC;EACF,CAAC,CAAC;AACJ;AAEA,SAASD,0BAA0BA,CACjCF,QAA6B,EACF;EAC3B,OAAOA,QAAQ,CAACM,GAAG,CAAEC,OAAO,IAAK;IAC/B,MAAMC,iBAAiB,GAAGD,OAAO,CAACE,MAAM,EAAEH,GAAG,CAAEI,KAAK,IAAK;MACvD,IAAIC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;QACxB,OAAOA,KAAK,CAACJ,GAAG,CAAEO,CAAC,IAAKrB,0BAA0B,CAACqB,CAAC,CAAC,CAAC;MACxD;MACA,OAAOrB,0BAA0B,CAACkB,KAAK,CAAC;IAC1C,CAAC,CAAwD;IAEzD,OAAO;MACLI,KAAK,EAAEP,OAAO,CAACO,KAAK;MACpBL,MAAM,EAAED;IACV,CAAC;EACH,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -1,13 +1,27 @@
1
1
  "use strict";
2
2
 
3
- import { locks, HybridNitroSQLite } from "../nitro.js";
3
+ import { HybridNitroSQLite } from "../nitro.js";
4
4
  import { transaction } from "./transaction.js";
5
5
  import { execute, executeAsync } from "./execute.js";
6
6
  import { executeBatch, executeBatchAsync } from "./executeBatch.js";
7
+ import NitroSQLiteError from "../NitroSQLiteError.js";
8
+ import { closeDatabaseQueue, openDatabaseQueue } from "../DatabaseQueue.js";
7
9
  export function open(options) {
8
- openDb(options.name, options.location);
10
+ try {
11
+ HybridNitroSQLite.open(options.name, options.location);
12
+ openDatabaseQueue(options.name);
13
+ } catch (error) {
14
+ throw NitroSQLiteError.fromError(error);
15
+ }
9
16
  return {
10
- close: () => close(options.name),
17
+ close: () => {
18
+ try {
19
+ HybridNitroSQLite.close(options.name);
20
+ closeDatabaseQueue(options.name);
21
+ } catch (error) {
22
+ throw NitroSQLiteError.fromError(error);
23
+ }
24
+ },
11
25
  delete: () => HybridNitroSQLite.drop(options.name, options.location),
12
26
  attach: (dbNameToAttach, alias, location) => HybridNitroSQLite.attach(options.name, dbNameToAttach, alias, location),
13
27
  detach: alias => HybridNitroSQLite.detach(options.name, alias),
@@ -20,15 +34,4 @@ export function open(options) {
20
34
  loadFileAsync: location => HybridNitroSQLite.loadFileAsync(options.name, location)
21
35
  };
22
36
  }
23
- export function openDb(dbName, location) {
24
- HybridNitroSQLite.open(dbName, location);
25
- locks[dbName] = {
26
- queue: [],
27
- inProgress: false
28
- };
29
- }
30
- export function close(dbName) {
31
- HybridNitroSQLite.close(dbName);
32
- delete locks[dbName];
33
- }
34
37
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["locks","HybridNitroSQLite","transaction","execute","executeAsync","executeBatch","executeBatchAsync","open","options","openDb","name","location","close","delete","drop","attach","dbNameToAttach","alias","detach","fn","query","params","commands","loadFile","loadFileAsync","dbName","queue","inProgress"],"sourceRoot":"../../../src","sources":["operations/session.ts"],"mappings":";;AAAA,SAASA,KAAK,EAAEC,iBAAiB,QAAQ,aAAU;AACnD,SAASC,WAAW,QAAQ,kBAAe;AAU3C,SAASC,OAAO,EAAEC,YAAY,QAAQ,cAAW;AACjD,SAASC,YAAY,EAAEC,iBAAiB,QAAQ,mBAAgB;AAEhE,OAAO,SAASC,IAAIA,CAClBC,OAAqC,EACd;EACvBC,MAAM,CAACD,OAAO,CAACE,IAAI,EAAEF,OAAO,CAACG,QAAQ,CAAC;EAEtC,OAAO;IACLC,KAAK,EAAEA,CAAA,KAAMA,KAAK,CAACJ,OAAO,CAACE,IAAI,CAAC;IAChCG,MAAM,EAAEA,CAAA,KAAMZ,iBAAiB,CAACa,IAAI,CAACN,OAAO,CAACE,IAAI,EAAEF,OAAO,CAACG,QAAQ,CAAC;IACpEI,MAAM,EAAEA,CAACC,cAAsB,EAAEC,KAAa,EAAEN,QAAiB,KAC/DV,iBAAiB,CAACc,MAAM,CAACP,OAAO,CAACE,IAAI,EAAEM,cAAc,EAAEC,KAAK,EAAEN,QAAQ,CAAC;IACzEO,MAAM,EAAGD,KAAa,IAAKhB,iBAAiB,CAACiB,MAAM,CAACV,OAAO,CAACE,IAAI,EAAEO,KAAK,CAAC;IACxEf,WAAW,EAAGiB,EAA6C,IACzDjB,WAAW,CAACM,OAAO,CAACE,IAAI,EAAES,EAAE,CAAC;IAC/BhB,OAAO,EAAEA,CACPiB,KAAa,EACbC,MAA0B,KACLlB,OAAO,CAACK,OAAO,CAACE,IAAI,EAAEU,KAAK,EAAEC,MAAM,CAAC;IAC3DjB,YAAY,EAAEA,CACZgB,KAAa,EACbC,MAA0B,KACIjB,YAAY,CAACI,OAAO,CAACE,IAAI,EAAEU,KAAK,EAAEC,MAAM,CAAC;IACzEhB,YAAY,EAAGiB,QAA6B,IAC1CjB,YAAY,CAACG,OAAO,CAACE,IAAI,EAAEY,QAAQ,CAAC;IACtChB,iBAAiB,EAAGgB,QAA6B,IAC/ChB,iBAAiB,CAACE,OAAO,CAACE,IAAI,EAAEY,QAAQ,CAAC;IAC3CC,QAAQ,EAAGZ,QAAgB,IACzBV,iBAAiB,CAACsB,QAAQ,CAACf,OAAO,CAACE,IAAI,EAAEC,QAAQ,CAAC;IACpDa,aAAa,EAAGb,QAAgB,IAC9BV,iBAAiB,CAACuB,aAAa,CAAChB,OAAO,CAACE,IAAI,EAAEC,QAAQ;EAC1D,CAAC;AACH;AAEA,OAAO,SAASF,MAAMA,CAACgB,MAAc,EAAEd,QAAiB,EAAE;EACxDV,iBAAiB,CAACM,IAAI,CAACkB,MAAM,EAAEd,QAAQ,CAAC;EAExCX,KAAK,CAACyB,MAAM,CAAC,GAAG;IACdC,KAAK,EAAE,EAAE;IACTC,UAAU,EAAE;EACd,CAAC;AACH;AAEA,OAAO,SAASf,KAAKA,CAACa,MAAc,EAAE;EACpCxB,iBAAiB,CAACW,KAAK,CAACa,MAAM,CAAC;EAC/B,OAAOzB,KAAK,CAACyB,MAAM,CAAC;AACtB","ignoreList":[]}
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,87 +1,58 @@
1
1
  "use strict";
2
2
 
3
- import { locks, HybridNitroSQLite } from "../nitro.js";
3
+ import { queueOperationAsync, throwIfDatabaseIsNotOpen } from "../DatabaseQueue.js";
4
4
  import { execute, executeAsync } from "./execute.js";
5
- export const transaction = (dbName, fn) => {
6
- if (locks[dbName] == null) throw Error(`Nitro SQLite Error: No lock found on db: ${dbName}`);
7
- let isFinalized = false;
8
-
9
- // Local transaction context object implementation
5
+ import NitroSQLiteError from "../NitroSQLiteError.js";
6
+ export const transaction = async (dbName, transactionCallback, isExclusive = false) => {
7
+ throwIfDatabaseIsNotOpen(dbName);
8
+ let isFinished = false;
10
9
  const executeOnTransaction = (query, params) => {
11
- if (isFinalized) {
12
- throw Error(`Nitro SQLite Error: Cannot execute query on finalized transaction: ${dbName}`);
10
+ if (isFinished) {
11
+ throw new NitroSQLiteError(`Cannot execute query on finalized transaction: ${dbName}`);
13
12
  }
14
13
  return execute(dbName, query, params);
15
14
  };
16
15
  const executeAsyncOnTransaction = (query, params) => {
17
- if (isFinalized) {
18
- throw Error(`Nitro SQLite Error: Cannot execute query on finalized transaction: ${dbName}`);
16
+ if (isFinished) {
17
+ throw new NitroSQLiteError(`Cannot execute query on finalized transaction: ${dbName}`);
19
18
  }
20
19
  return executeAsync(dbName, query, params);
21
20
  };
22
21
  const commit = () => {
23
- if (isFinalized) {
24
- throw Error(`Nitro SQLite Error: Cannot execute commit on finalized transaction: ${dbName}`);
22
+ if (isFinished) {
23
+ throw new NitroSQLiteError(`Cannot execute commit on finalized transaction: ${dbName}`);
25
24
  }
26
- const result = HybridNitroSQLite.execute(dbName, 'COMMIT');
27
- isFinalized = true;
28
- return result;
25
+ isFinished = true;
26
+ return execute(dbName, 'COMMIT');
29
27
  };
30
28
  const rollback = () => {
31
- if (isFinalized) {
32
- throw Error(`Nitro SQLite Error: Cannot execute rollback on finalized transaction: ${dbName}`);
29
+ if (isFinished) {
30
+ throw new NitroSQLiteError(`Cannot execute rollback on finalized transaction: ${dbName}`);
33
31
  }
34
- const result = HybridNitroSQLite.execute(dbName, 'ROLLBACK');
35
- isFinalized = true;
36
- return result;
32
+ isFinished = true;
33
+ return execute(dbName, 'ROLLBACK');
37
34
  };
38
- async function run() {
35
+ return await queueOperationAsync(dbName, async () => {
39
36
  try {
40
- await HybridNitroSQLite.executeAsync(dbName, 'BEGIN TRANSACTION');
41
- await fn({
37
+ await executeAsync(dbName, isExclusive ? 'BEGIN EXCLUSIVE TRANSACTION' : 'BEGIN TRANSACTION');
38
+ const result = await transactionCallback({
42
39
  commit,
43
40
  execute: executeOnTransaction,
44
41
  executeAsync: executeAsyncOnTransaction,
45
42
  rollback
46
43
  });
47
- if (!isFinalized) commit();
44
+ if (!isFinished) commit();
45
+ return result;
48
46
  } catch (executionError) {
49
- if (!isFinalized) {
47
+ if (!isFinished) {
50
48
  try {
51
49
  rollback();
52
50
  } catch (rollbackError) {
53
- throw rollbackError;
51
+ throw NitroSQLiteError.fromError(rollbackError);
54
52
  }
55
53
  }
56
- throw executionError;
57
- } finally {
58
- locks[dbName].inProgress = false;
59
- isFinalized = false;
60
- startNextTransaction(dbName);
54
+ throw NitroSQLiteError.fromError(executionError);
61
55
  }
62
- }
63
- return new Promise((resolve, reject) => {
64
- const tx = {
65
- start: () => {
66
- run().then(resolve).catch(reject);
67
- }
68
- };
69
- locks[dbName]?.queue.push(tx);
70
- startNextTransaction(dbName);
71
56
  });
72
57
  };
73
- function startNextTransaction(dbName) {
74
- if (locks[dbName] == null) throw Error(`Lock not found for db: ${dbName}`);
75
- if (locks[dbName].inProgress) {
76
- // Transaction is already in process bail out
77
- return;
78
- }
79
- if (locks[dbName].queue.length > 0) {
80
- locks[dbName].inProgress = true;
81
- const tx = locks[dbName].queue.shift();
82
- setImmediate(() => {
83
- tx.start();
84
- });
85
- }
86
- }
87
58
  //# sourceMappingURL=transaction.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["locks","HybridNitroSQLite","execute","executeAsync","transaction","dbName","fn","Error","isFinalized","executeOnTransaction","query","params","executeAsyncOnTransaction","commit","result","rollback","run","executionError","rollbackError","inProgress","startNextTransaction","Promise","resolve","reject","tx","start","then","catch","queue","push","length","shift","setImmediate"],"sourceRoot":"../../../src","sources":["operations/transaction.ts"],"mappings":"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","ignoreList":[]}
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 +1 @@
1
- {"version":3,"names":["ColumnType"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AAmBA,WAAYA,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;;AAStB;;AAWA;;AAGA;AACA;AACA;;AAwCA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["ColumnType"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AAqBA,WAAYA,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;;AAStB;;AAWA;;AAGA;AACA;AACA;;AAwCA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ export interface QueuedOperation {
2
+ /**
3
+ * Starts the operation
4
+ */
5
+ start: () => void;
6
+ }
7
+ export type DatabaseQueue = {
8
+ queue: QueuedOperation[];
9
+ inProgress: boolean;
10
+ };
11
+ export declare function openDatabaseQueue(dbName: string): void;
12
+ export declare function closeDatabaseQueue(dbName: string): void;
13
+ export declare function isDatabaseOpen(dbName: string): boolean;
14
+ export declare function throwIfDatabaseIsNotOpen(dbName: string): void;
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
+ 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;
20
+ //# sourceMappingURL=DatabaseQueue.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Custom error class for NitroSQLite operations
3
+ * Extends the native Error class with proper prototype chain and error handling
4
+ */
5
+ export default class NitroSQLiteError extends Error {
6
+ constructor(message: string, options?: ErrorOptions);
7
+ /**
8
+ * Converts an unknown error to a NitroSQLiteError
9
+ * Preserves stack traces and error causes when available
10
+ */
11
+ static fromError(error: unknown): NitroSQLiteError;
12
+ }
13
+ //# sourceMappingURL=NitroSQLiteError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NitroSQLiteError.d.ts","sourceRoot":"","sources":["../../../src/NitroSQLiteError.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;IAQnD;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB;CAyBnD"}
@@ -1,12 +1,10 @@
1
1
  import { open } from './operations/session';
2
2
  import { execute, executeAsync } from './operations/execute';
3
3
  import { executeBatch, executeBatchAsync } from './operations/executeBatch';
4
- export type * from './types';
5
- export { typeORMDriver } from './typeORM';
6
4
  export declare const NitroSQLite: {
7
5
  native: import("./specs/NitroSQLite.nitro").NitroSQLite;
8
6
  open: typeof open;
9
- transaction: (dbName: string, fn: (tx: import("./types").Transaction) => Promise<void> | void) => Promise<void>;
7
+ transaction: <Result = void>(dbName: string, transactionCallback: (tx: import("./types").Transaction) => Promise<Result>, isExclusive?: boolean) => Promise<Result>;
10
8
  execute: typeof execute;
11
9
  executeAsync: typeof executeAsync;
12
10
  executeBatch: typeof executeBatch;
@@ -28,4 +26,7 @@ export declare const NitroSQLite: {
28
26
  };
29
27
  export { open } from './operations/session';
30
28
  export { isNitroSQLiteNull, NITRO_SQLITE_NULL, isSimpleNullHandlingEnabled, enableSimpleNullHandling, } from './nullHandling';
29
+ export { default as NitroSQLiteError } from './NitroSQLiteError';
30
+ export type * from './types';
31
+ export { typeORMDriver } from './typeORM';
31
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAE5D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC3E,mBAAmB,SAAS,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAIzC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;CAYvB,CAAA;AAED,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAE5D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAI3E,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;CAYvB,CAAA;AAED,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAChE,mBAAmB,SAAS,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA"}
@@ -1,8 +1,3 @@
1
1
  import type { NitroSQLite as NitroSQLiteSpec } from './specs/NitroSQLite.nitro';
2
- import type { PendingTransaction } from './operations/transaction';
3
2
  export declare const HybridNitroSQLite: NitroSQLiteSpec;
4
- export declare const locks: Record<string, {
5
- queue: PendingTransaction[];
6
- inProgress: boolean;
7
- }>;
8
3
  //# sourceMappingURL=nitro.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nitro.d.ts","sourceRoot":"","sources":["../../../src/nitro.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAElE,eAAO,MAAM,iBAAiB,iBACmC,CAAA;AAEjE,eAAO,MAAM,KAAK,EAAE,MAAM,CACxB,MAAM,EACN;IAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAChD,CAAA"}
1
+ {"version":3,"file":"nitro.d.ts","sourceRoot":"","sources":["../../../src/nitro.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE/E,eAAO,MAAM,iBAAiB,iBACmC,CAAA"}
@@ -3,6 +3,6 @@ import { SQLiteQueryParamItem } from './types';
3
3
  export declare function enableSimpleNullHandling(shouldEnableSimpleNullHandling?: boolean): void;
4
4
  export declare function isSimpleNullHandlingEnabled(): boolean;
5
5
  export declare const NITRO_SQLITE_NULL: SQLiteNullValue;
6
- export declare function isNitroSQLiteNull(value: any): value is SQLiteNullValue;
6
+ export declare function isNitroSQLiteNull(value: unknown): value is SQLiteNullValue;
7
7
  export declare function replaceWithNativeNullValue(value: SQLiteQueryParamItem): SQLiteValue;
8
8
  //# sourceMappingURL=nullHandling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nullHandling.d.ts","sourceRoot":"","sources":["../../../src/nullHandling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI9C,wBAAgB,wBAAwB,CACtC,8BAA8B,UAAO,QAGtC;AAED,wBAAgB,2BAA2B,YAE1C;AAED,eAAO,MAAM,iBAAiB,EAAE,eAA6C,CAAA;AAC7E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,eAAe,CAKtE;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,oBAAoB,GAC1B,WAAW,CAKb"}
1
+ {"version":3,"file":"nullHandling.d.ts","sourceRoot":"","sources":["../../../src/nullHandling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI9C,wBAAgB,wBAAwB,CACtC,8BAA8B,UAAO,QAGtC;AAED,wBAAgB,2BAA2B,YAE1C;AAED,eAAO,MAAM,iBAAiB,EAAE,eAA6C,CAAA;AAC7E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAS1E;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,oBAAoB,GAC1B,WAAW,CAKb"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../../src/operations/execute.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,WAAW,EAEX,iBAAiB,EACjB,cAAc,EACf,MAAM,UAAU,CAAA;AAEjB,wBAAgB,OAAO,CAAC,GAAG,SAAS,cAAc,GAAG,KAAK,EACxD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,iBAAiB,GACzB,WAAW,CAAC,GAAG,CAAC,CAYlB;AAED,wBAAsB,YAAY,CAAC,GAAG,SAAS,cAAc,GAAG,KAAK,EACnE,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAY3B"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../../src/operations/execute.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,WAAW,EAEX,iBAAiB,EACjB,cAAc,EACf,MAAM,UAAU,CAAA;AAGjB,wBAAgB,OAAO,CAAC,GAAG,SAAS,cAAc,GAAG,KAAK,EACxD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,iBAAiB,GACzB,WAAW,CAAC,GAAG,CAAC,CAgBlB;AAED,wBAAsB,YAAY,CAAC,GAAG,SAAS,cAAc,GAAG,KAAK,EACnE,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAe3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"executeBatch.d.ts","sourceRoot":"","sources":["../../../../src/operations/executeBatch.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,UAAU,CAAA;AAEjB,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,gBAAgB,CAOlB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAU3B"}
1
+ {"version":3,"file":"executeBatch.d.ts","sourceRoot":"","sources":["../../../../src/operations/executeBatch.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAEV,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,UAAU,CAAA;AAGjB,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,gBAAgB,CAclB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAiB3B"}
@@ -1,5 +1,3 @@
1
1
  import type { NitroSQLiteConnection, NitroSQLiteConnectionOptions } from '../types';
2
2
  export declare function open(options: NitroSQLiteConnectionOptions): NitroSQLiteConnection;
3
- export declare function openDb(dbName: string, location?: string): void;
4
- export declare function close(dbName: string): void;
5
3
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/operations/session.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,qBAAqB,EACrB,4BAA4B,EAK7B,MAAM,UAAU,CAAA;AAIjB,wBAAgB,IAAI,CAClB,OAAO,EAAE,4BAA4B,GACpC,qBAAqB,CA4BvB;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,QAOvD;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,QAGnC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/operations/session.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,qBAAqB,EACrB,4BAA4B,EAK7B,MAAM,UAAU,CAAA;AAMjB,wBAAgB,IAAI,CAClB,OAAO,EAAE,4BAA4B,GACpC,qBAAqB,CAwCvB"}
@@ -1,6 +1,3 @@
1
1
  import type { Transaction } from '../types';
2
- export interface PendingTransaction {
3
- start: () => void;
4
- }
5
- export declare const transaction: (dbName: string, fn: (tx: Transaction) => Promise<void> | void) => Promise<void>;
2
+ export declare const transaction: <Result = void>(dbName: string, transactionCallback: (tx: Transaction) => Promise<Result>, isExclusive?: boolean) => Promise<Result>;
6
3
  //# sourceMappingURL=transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/operations/transaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,WAAW,EAGZ,MAAM,UAAU,CAAA;AAGjB,MAAM,WAAW,kBAAkB;IAUjC,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,eAAO,MAAM,WAAW,WACd,MAAM,MACV,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,KAC5C,OAAO,CAAC,IAAI,CA4Fd,CAAA"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/operations/transaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,WAAW,EAGZ,MAAM,UAAU,CAAA;AAIjB,eAAO,MAAM,WAAW,GAAU,MAAM,GAAG,IAAI,EAC7C,QAAQ,MAAM,EACd,qBAAqB,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,EACzD,qBAAmB,oBA+EpB,CAAA"}
@@ -7,7 +7,7 @@ export interface NitroSQLiteConnection {
7
7
  delete(): void;
8
8
  attach(dbNameToAttach: string, alias: string, location?: string): void;
9
9
  detach(alias: string): void;
10
- transaction(fn: (tx: Transaction) => Promise<void> | void): Promise<void>;
10
+ transaction: <Result = void>(transactionCallback: (tx: Transaction) => Promise<Result>) => Promise<Result>;
11
11
  execute: ExecuteQuery;
12
12
  executeAsync: ExecuteAsyncQuery;
13
13
  executeBatch(commands: BatchQueryCommand[]): BatchQueryResult;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export interface QueuedOperation {
2
+ /**
3
+ * Starts the operation
4
+ */
5
+ start: () => void;
6
+ }
7
+ export type DatabaseQueue = {
8
+ queue: QueuedOperation[];
9
+ inProgress: boolean;
10
+ };
11
+ export declare function openDatabaseQueue(dbName: string): void;
12
+ export declare function closeDatabaseQueue(dbName: string): void;
13
+ export declare function isDatabaseOpen(dbName: string): boolean;
14
+ export declare function throwIfDatabaseIsNotOpen(dbName: string): void;
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
+ 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;
20
+ //# sourceMappingURL=DatabaseQueue.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Custom error class for NitroSQLite operations
3
+ * Extends the native Error class with proper prototype chain and error handling
4
+ */
5
+ export default class NitroSQLiteError extends Error {
6
+ constructor(message: string, options?: ErrorOptions);
7
+ /**
8
+ * Converts an unknown error to a NitroSQLiteError
9
+ * Preserves stack traces and error causes when available
10
+ */
11
+ static fromError(error: unknown): NitroSQLiteError;
12
+ }
13
+ //# sourceMappingURL=NitroSQLiteError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NitroSQLiteError.d.ts","sourceRoot":"","sources":["../../../src/NitroSQLiteError.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;IAQnD;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB;CAyBnD"}
@@ -1,12 +1,10 @@
1
1
  import { open } from './operations/session';
2
2
  import { execute, executeAsync } from './operations/execute';
3
3
  import { executeBatch, executeBatchAsync } from './operations/executeBatch';
4
- export type * from './types';
5
- export { typeORMDriver } from './typeORM';
6
4
  export declare const NitroSQLite: {
7
5
  native: import("./specs/NitroSQLite.nitro").NitroSQLite;
8
6
  open: typeof open;
9
- transaction: (dbName: string, fn: (tx: import("./types").Transaction) => Promise<void> | void) => Promise<void>;
7
+ transaction: <Result = void>(dbName: string, transactionCallback: (tx: import("./types").Transaction) => Promise<Result>, isExclusive?: boolean) => Promise<Result>;
10
8
  execute: typeof execute;
11
9
  executeAsync: typeof executeAsync;
12
10
  executeBatch: typeof executeBatch;
@@ -28,4 +26,7 @@ export declare const NitroSQLite: {
28
26
  };
29
27
  export { open } from './operations/session';
30
28
  export { isNitroSQLiteNull, NITRO_SQLITE_NULL, isSimpleNullHandlingEnabled, enableSimpleNullHandling, } from './nullHandling';
29
+ export { default as NitroSQLiteError } from './NitroSQLiteError';
30
+ export type * from './types';
31
+ export { typeORMDriver } from './typeORM';
31
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAE5D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC3E,mBAAmB,SAAS,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAIzC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;CAYvB,CAAA;AAED,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAE5D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAI3E,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;CAYvB,CAAA;AAED,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAChE,mBAAmB,SAAS,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA"}
@@ -1,8 +1,3 @@
1
1
  import type { NitroSQLite as NitroSQLiteSpec } from './specs/NitroSQLite.nitro';
2
- import type { PendingTransaction } from './operations/transaction';
3
2
  export declare const HybridNitroSQLite: NitroSQLiteSpec;
4
- export declare const locks: Record<string, {
5
- queue: PendingTransaction[];
6
- inProgress: boolean;
7
- }>;
8
3
  //# sourceMappingURL=nitro.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nitro.d.ts","sourceRoot":"","sources":["../../../src/nitro.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAElE,eAAO,MAAM,iBAAiB,iBACmC,CAAA;AAEjE,eAAO,MAAM,KAAK,EAAE,MAAM,CACxB,MAAM,EACN;IAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAChD,CAAA"}
1
+ {"version":3,"file":"nitro.d.ts","sourceRoot":"","sources":["../../../src/nitro.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE/E,eAAO,MAAM,iBAAiB,iBACmC,CAAA"}
@@ -3,6 +3,6 @@ import { SQLiteQueryParamItem } from './types';
3
3
  export declare function enableSimpleNullHandling(shouldEnableSimpleNullHandling?: boolean): void;
4
4
  export declare function isSimpleNullHandlingEnabled(): boolean;
5
5
  export declare const NITRO_SQLITE_NULL: SQLiteNullValue;
6
- export declare function isNitroSQLiteNull(value: any): value is SQLiteNullValue;
6
+ export declare function isNitroSQLiteNull(value: unknown): value is SQLiteNullValue;
7
7
  export declare function replaceWithNativeNullValue(value: SQLiteQueryParamItem): SQLiteValue;
8
8
  //# sourceMappingURL=nullHandling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nullHandling.d.ts","sourceRoot":"","sources":["../../../src/nullHandling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI9C,wBAAgB,wBAAwB,CACtC,8BAA8B,UAAO,QAGtC;AAED,wBAAgB,2BAA2B,YAE1C;AAED,eAAO,MAAM,iBAAiB,EAAE,eAA6C,CAAA;AAC7E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,eAAe,CAKtE;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,oBAAoB,GAC1B,WAAW,CAKb"}
1
+ {"version":3,"file":"nullHandling.d.ts","sourceRoot":"","sources":["../../../src/nullHandling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI9C,wBAAgB,wBAAwB,CACtC,8BAA8B,UAAO,QAGtC;AAED,wBAAgB,2BAA2B,YAE1C;AAED,eAAO,MAAM,iBAAiB,EAAE,eAA6C,CAAA;AAC7E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAS1E;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,oBAAoB,GAC1B,WAAW,CAKb"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../../src/operations/execute.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,WAAW,EAEX,iBAAiB,EACjB,cAAc,EACf,MAAM,UAAU,CAAA;AAEjB,wBAAgB,OAAO,CAAC,GAAG,SAAS,cAAc,GAAG,KAAK,EACxD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,iBAAiB,GACzB,WAAW,CAAC,GAAG,CAAC,CAYlB;AAED,wBAAsB,YAAY,CAAC,GAAG,SAAS,cAAc,GAAG,KAAK,EACnE,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAY3B"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../../src/operations/execute.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,WAAW,EAEX,iBAAiB,EACjB,cAAc,EACf,MAAM,UAAU,CAAA;AAGjB,wBAAgB,OAAO,CAAC,GAAG,SAAS,cAAc,GAAG,KAAK,EACxD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,iBAAiB,GACzB,WAAW,CAAC,GAAG,CAAC,CAgBlB;AAED,wBAAsB,YAAY,CAAC,GAAG,SAAS,cAAc,GAAG,KAAK,EACnE,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAe3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"executeBatch.d.ts","sourceRoot":"","sources":["../../../../src/operations/executeBatch.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,UAAU,CAAA;AAEjB,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,gBAAgB,CAOlB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAU3B"}
1
+ {"version":3,"file":"executeBatch.d.ts","sourceRoot":"","sources":["../../../../src/operations/executeBatch.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAEV,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,UAAU,CAAA;AAGjB,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,gBAAgB,CAclB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAiB3B"}
@@ -1,5 +1,3 @@
1
1
  import type { NitroSQLiteConnection, NitroSQLiteConnectionOptions } from '../types';
2
2
  export declare function open(options: NitroSQLiteConnectionOptions): NitroSQLiteConnection;
3
- export declare function openDb(dbName: string, location?: string): void;
4
- export declare function close(dbName: string): void;
5
3
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/operations/session.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,qBAAqB,EACrB,4BAA4B,EAK7B,MAAM,UAAU,CAAA;AAIjB,wBAAgB,IAAI,CAClB,OAAO,EAAE,4BAA4B,GACpC,qBAAqB,CA4BvB;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,QAOvD;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,QAGnC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/operations/session.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,qBAAqB,EACrB,4BAA4B,EAK7B,MAAM,UAAU,CAAA;AAMjB,wBAAgB,IAAI,CAClB,OAAO,EAAE,4BAA4B,GACpC,qBAAqB,CAwCvB"}
@@ -1,6 +1,3 @@
1
1
  import type { Transaction } from '../types';
2
- export interface PendingTransaction {
3
- start: () => void;
4
- }
5
- export declare const transaction: (dbName: string, fn: (tx: Transaction) => Promise<void> | void) => Promise<void>;
2
+ export declare const transaction: <Result = void>(dbName: string, transactionCallback: (tx: Transaction) => Promise<Result>, isExclusive?: boolean) => Promise<Result>;
6
3
  //# sourceMappingURL=transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/operations/transaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,WAAW,EAGZ,MAAM,UAAU,CAAA;AAGjB,MAAM,WAAW,kBAAkB;IAUjC,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,eAAO,MAAM,WAAW,WACd,MAAM,MACV,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,KAC5C,OAAO,CAAC,IAAI,CA4Fd,CAAA"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/operations/transaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,WAAW,EAGZ,MAAM,UAAU,CAAA;AAIjB,eAAO,MAAM,WAAW,GAAU,MAAM,GAAG,IAAI,EAC7C,QAAQ,MAAM,EACd,qBAAqB,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,EACzD,qBAAmB,oBA+EpB,CAAA"}
@@ -7,7 +7,7 @@ export interface NitroSQLiteConnection {
7
7
  delete(): void;
8
8
  attach(dbNameToAttach: string, alias: string, location?: string): void;
9
9
  detach(alias: string): void;
10
- transaction(fn: (tx: Transaction) => Promise<void> | void): Promise<void>;
10
+ transaction: <Result = void>(transactionCallback: (tx: Transaction) => Promise<Result>) => Promise<Result>;
11
11
  execute: ExecuteQuery;
12
12
  executeAsync: ExecuteAsyncQuery;
13
13
  executeBatch(commands: BatchQueryCommand[]): BatchQueryResult;