expo-sqlite 58.0.14 → 58.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/android/CMakeLists.txt +14 -0
  3. package/android/build.gradle +2 -2
  4. package/build/hooks.js +22 -7
  5. package/build/hooks.js.map +1 -1
  6. package/dev-plugin-dist/+not-found.html +2 -2
  7. package/dev-plugin-dist/_expo/static/js/web/{__common-425446d25ba9d38253f26183ba3298e8.js → __common-a91396a33c562b43d2b77a6ffc575fb7.js} +49 -49
  8. package/dev-plugin-dist/_expo/static/js/web/{_layout-060b9ecaa460bd32d255f66637607869.js → _layout-acb144d1f99a64d1785af7527d659b2a.js} +24 -24
  9. package/dev-plugin-dist/_expo/static/js/web/{entry-af8fb12d7df2570a36e0f9ecffc3e96e.js → entry-e3975197f566bcbd43c64e4d22104a7f.js} +766 -763
  10. package/dev-plugin-dist/_expo/static/js/web/{index-aa90917bf995579a1b08b315598a91a4.js → index-aa7dfdd0fcc30054b3c079a77a18453e.js} +1740 -1740
  11. package/dev-plugin-dist/_expo/static/js/web/{worker-1eeaeb20948c186fa7ca89fdb12af8ed.js → worker-7964ea010c5e0bbcae7a3c69aa585a51.js} +17 -17
  12. package/dev-plugin-dist/_sitemap.html +2 -2
  13. package/dev-plugin-dist/index.html +2 -2
  14. package/ios/Benchmarks/Benchmarks.swift +5 -5
  15. package/ios/Benchmarks/JavaScriptBenchmarks.swift +59 -64
  16. package/ios/Benchmarks/StatementBenchmarks.swift +14 -21
  17. package/ios/ExpoSQLite.podspec +1 -0
  18. package/ios/Tests/OpenDatabaseOptionsTests.swift +22 -13
  19. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.16/expo.modules.sqlite-58.0.16.aar +0 -0
  20. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.16/expo.modules.sqlite-58.0.16.aar.md5 +1 -0
  21. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.16/expo.modules.sqlite-58.0.16.aar.sha1 +1 -0
  22. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.16/expo.modules.sqlite-58.0.16.aar.sha256 +1 -0
  23. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.16/expo.modules.sqlite-58.0.16.aar.sha512 +1 -0
  24. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.14/expo.modules.sqlite-58.0.14.module → 58.0.16/expo.modules.sqlite-58.0.16.module} +17 -17
  25. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.16/expo.modules.sqlite-58.0.16.module.md5 +1 -0
  26. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.16/expo.modules.sqlite-58.0.16.module.sha1 +1 -0
  27. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.16/expo.modules.sqlite-58.0.16.module.sha256 +1 -0
  28. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.16/expo.modules.sqlite-58.0.16.module.sha512 +1 -0
  29. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.14/expo.modules.sqlite-58.0.14.pom → 58.0.16/expo.modules.sqlite-58.0.16.pom} +1 -1
  30. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.16/expo.modules.sqlite-58.0.16.pom.md5 +1 -0
  31. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.16/expo.modules.sqlite-58.0.16.pom.sha1 +1 -0
  32. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.16/expo.modules.sqlite-58.0.16.pom.sha256 +1 -0
  33. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.16/expo.modules.sqlite-58.0.16.pom.sha512 +1 -0
  34. package/package.json +5 -4
  35. package/src/hooks.tsx +31 -7
  36. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.14/expo.modules.sqlite-58.0.14.aar +0 -0
  37. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.14/expo.modules.sqlite-58.0.14.aar.md5 +0 -1
  38. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.14/expo.modules.sqlite-58.0.14.aar.sha1 +0 -1
  39. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.14/expo.modules.sqlite-58.0.14.aar.sha256 +0 -1
  40. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.14/expo.modules.sqlite-58.0.14.aar.sha512 +0 -1
  41. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.14/expo.modules.sqlite-58.0.14.module.md5 +0 -1
  42. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.14/expo.modules.sqlite-58.0.14.module.sha1 +0 -1
  43. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.14/expo.modules.sqlite-58.0.14.module.sha256 +0 -1
  44. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.14/expo.modules.sqlite-58.0.14.module.sha512 +0 -1
  45. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.14/expo.modules.sqlite-58.0.14.pom.md5 +0 -1
  46. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.14/expo.modules.sqlite-58.0.14.pom.sha1 +0 -1
  47. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.14/expo.modules.sqlite-58.0.14.pom.sha256 +0 -1
  48. package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.14/expo.modules.sqlite-58.0.14.pom.sha512 +0 -1
  49. /package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.14/expo.modules.sqlite-58.0.14-sources.jar → 58.0.16/expo.modules.sqlite-58.0.16-sources.jar} +0 -0
  50. /package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.14/expo.modules.sqlite-58.0.14-sources.jar.md5 → 58.0.16/expo.modules.sqlite-58.0.16-sources.jar.md5} +0 -0
  51. /package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.14/expo.modules.sqlite-58.0.14-sources.jar.sha1 → 58.0.16/expo.modules.sqlite-58.0.16-sources.jar.sha1} +0 -0
  52. /package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.14/expo.modules.sqlite-58.0.14-sources.jar.sha256 → 58.0.16/expo.modules.sqlite-58.0.16-sources.jar.sha256} +0 -0
  53. /package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.14/expo.modules.sqlite-58.0.14-sources.jar.sha512 → 58.0.16/expo.modules.sqlite-58.0.16-sources.jar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 58.0.16
4
+
5
+ ### Patch Changes
6
+
7
+ - Fix `SQLiteProvider` skipping re-renders when only `children` change. Re-import the database when `assetSource` changes, and keep it open when a new object has the same contents. ([#45099](https://github.com/expo/expo/pull/45099) by [@vladlenskiy](https://github.com/vladlenskiy))
8
+
9
+ ## 58.0.15
10
+
11
+ ### Patch Changes
12
+
13
+ - Reduce the size of the native library on Android. ([#52401](https://github.com/expo/expo/pull/52401) by [@lukmccall](https://github.com/lukmccall))
14
+
3
15
  ## 58.0.14
4
16
 
5
17
  ### Patch Changes
@@ -28,6 +28,20 @@ target_include_directories(
28
28
  "${SQLITE3_SRC_DIR}"
29
29
  )
30
30
 
31
+ # Only `JNI_OnLoad` needs to be public.
32
+ target_compile_options(
33
+ ${PACKAGE_NAME}
34
+ PRIVATE
35
+ -fvisibility=hidden
36
+ )
37
+
38
+ target_link_options(
39
+ ${PACKAGE_NAME}
40
+ PRIVATE
41
+ "-Wl,--pack-dyn-relocs=android"
42
+ "$<$<NOT:$<CONFIG:Debug>>:-Wl,-O2>"
43
+ )
44
+
31
45
  find_library(LOG_LIB log)
32
46
  find_package(fbjni REQUIRED CONFIG)
33
47
  if(${USE_SQLCIPHER})
@@ -47,7 +47,7 @@ def reactNativeArchitectures() {
47
47
  }
48
48
 
49
49
  group = 'host.exp.exponent'
50
- version = '58.0.14'
50
+ version = '58.0.16'
51
51
 
52
52
  expoModule {
53
53
  v2 true
@@ -57,7 +57,7 @@ android {
57
57
  namespace "expo.modules.sqlite"
58
58
  defaultConfig {
59
59
  versionCode 18
60
- versionName "58.0.14"
60
+ versionName "58.0.16"
61
61
  buildConfigField "boolean", "WITH_SQLITE_VEC", project.ext.WITH_SQLITE_VEC.toString()
62
62
 
63
63
  externalNativeBuild {
package/build/hooks.js CHANGED
@@ -25,7 +25,7 @@ import { createDatabasePath } from './pathUtils';
25
25
  onError: onError,
26
26
  children: children
27
27
  });
28
- }, (prevProps, nextProps)=>prevProps.databaseName === nextProps.databaseName && deepEqual(prevProps.options, nextProps.options) && deepEqual(prevProps.assetSource, nextProps.assetSource) && prevProps.directory === nextProps.directory && prevProps.onInit === nextProps.onInit && prevProps.onError === nextProps.onError && prevProps.useSuspense === nextProps.useSuspense);
28
+ }, (prevProps, nextProps)=>prevProps.databaseName === nextProps.databaseName && deepEqual(prevProps.options, nextProps.options) && deepEqual(prevProps.assetSource, nextProps.assetSource) && prevProps.directory === nextProps.directory && prevProps.onInit === nextProps.onInit && prevProps.onError === nextProps.onError && prevProps.useSuspense === nextProps.useSuspense && prevProps.children === nextProps.children);
29
29
  /**
30
30
  * A global hook for accessing the SQLite database across components.
31
31
  * This hook should only be used within a [`<SQLiteProvider>`](#sqlitesqliteprovider) component.
@@ -55,11 +55,13 @@ import { createDatabasePath } from './pathUtils';
55
55
  }
56
56
  let databaseInstance = null;
57
57
  function SQLiteProviderSuspense({ databaseName, directory, options, assetSource, children, onInit }) {
58
+ const stableOptions = useDeepStableValue(options);
59
+ const stableAssetSource = useDeepStableValue(assetSource);
58
60
  const databasePromise = getDatabaseAsync({
59
61
  databaseName,
60
62
  directory,
61
- options,
62
- assetSource,
63
+ options: stableOptions,
64
+ assetSource: stableAssetSource,
63
65
  onInit
64
66
  });
65
67
  const database = use(databasePromise);
@@ -72,14 +74,16 @@ function SQLiteProviderNonSuspense({ databaseName, directory, options, assetSour
72
74
  const databaseRef = useRef(null);
73
75
  const [loading, setLoading] = useState(true);
74
76
  const [error, setError] = useState(null);
77
+ const stableOptions = useDeepStableValue(options);
78
+ const stableAssetSource = useDeepStableValue(assetSource);
75
79
  useEffect(()=>{
76
80
  async function setup() {
77
81
  try {
78
82
  const db = await openDatabaseWithInitAsync({
79
83
  databaseName,
80
84
  directory,
81
- options,
82
- assetSource,
85
+ options: stableOptions,
86
+ assetSource: stableAssetSource,
83
87
  onInit
84
88
  });
85
89
  databaseRef.current = db;
@@ -105,7 +109,8 @@ function SQLiteProviderNonSuspense({ databaseName, directory, options, assetSour
105
109
  }, [
106
110
  databaseName,
107
111
  directory,
108
- options,
112
+ stableOptions,
113
+ stableAssetSource,
109
114
  onInit
110
115
  ]);
111
116
  if (error != null) {
@@ -123,7 +128,7 @@ function SQLiteProviderNonSuspense({ databaseName, directory, options, assetSour
123
128
  });
124
129
  }
125
130
  function getDatabaseAsync({ databaseName, directory, options, assetSource, onInit }) {
126
- if (databaseInstance?.promise != null && databaseInstance?.databaseName === databaseName && databaseInstance?.directory === directory && databaseInstance?.options === options && databaseInstance?.onInit === onInit) {
131
+ if (databaseInstance?.promise != null && databaseInstance?.databaseName === databaseName && databaseInstance?.directory === directory && databaseInstance?.options === options && databaseInstance?.assetSource === assetSource && databaseInstance?.onInit === onInit) {
127
132
  return databaseInstance.promise;
128
133
  }
129
134
  let promise;
@@ -152,6 +157,7 @@ function getDatabaseAsync({ databaseName, directory, options, assetSource, onIni
152
157
  databaseName,
153
158
  directory,
154
159
  options,
160
+ assetSource,
155
161
  onInit,
156
162
  promise
157
163
  };
@@ -180,6 +186,15 @@ async function openDatabaseWithInitAsync({ databaseName, directory, options, ass
180
186
  const path = createDatabasePath(databaseName, directory);
181
187
  await ExpoSQLite.importAssetDatabaseAsync(path, asset.localUri, assetSource.forceOverwrite ?? false);
182
188
  }
189
+ /**
190
+ * Returns the previous reference while `value` remains deeply equal.
191
+ */ function useDeepStableValue(value) {
192
+ const ref = useRef(value);
193
+ if (!deepEqual(ref.current, value)) {
194
+ ref.current = value;
195
+ }
196
+ return ref.current;
197
+ }
183
198
  /**
184
199
  * Compares two objects deeply for equality.
185
200
  */ export function deepEqual(a, b) {
@@ -1 +1 @@
1
- {"version":3,"sources":["hooks.tsx"],"sourcesContent":[null],"names":["Asset","React","createContext","memo","useContext","useEffect","useRef","useState","ExpoSQLite","openDatabaseAsync","createDatabasePath","SQLiteContext","SQLiteProvider","children","onError","useSuspense","props","Error","SQLiteProviderSuspense","SQLiteProviderNonSuspense","prevProps","nextProps","databaseName","deepEqual","options","assetSource","directory","onInit","useSQLiteContext","context","databaseInstance","databasePromise","getDatabaseAsync","database","use","Provider","value","databaseRef","loading","setLoading","error","setError","setup","db","openDatabaseWithInitAsync","current","e","teardown","closeAsync","handler","promise","then","importDatabaseFromAssetAsync","asset","fromModule","assetId","downloadAsync","localUri","path","importAssetDatabaseAsync","forceOverwrite","a","b","Object","keys","length","every","key","isReactUsePromise","status","undefined","reason","suspensePromise","result"],"mappings":";AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,OAAOC,SAASC,aAAa,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AAE5F,OAAOC,gBAAgB,eAAe;AAEtC,SAASC,iBAAiB,QAA6B,mBAAmB;AAC1E,SAASC,kBAAkB,QAAQ,cAAc;AA6EjD;;CAEC,GACD,MAAMC,8BAAgBT,cAAqC;AAE3D;;;CAGC,GACD,OAAO,MAAMU,+BAAiBT,KAC5B,SAASS,eAAe,EACtBC,QAAQ,EACRC,OAAO,EACPC,cAAc,KAAK,EACnB,GAAGC,OACiB;IACpB,IAAIF,WAAW,QAAQC,aAAa;QAClC,MAAM,IAAIE,MAAM;IAClB;IAEA,IAAIF,aAAa;QACf,qBAAO,KAACG;YAAwB,GAAGF,KAAK;sBAAGH;;IAC7C;IAEA,qBACE,KAACM;QAA2B,GAAGH,KAAK;QAAEF,SAASA;kBAC5CD;;AAGP,GACA,CAACO,WAAgCC,YAC/BD,UAAUE,YAAY,KAAKD,UAAUC,YAAY,IACjDC,UAAUH,UAAUI,OAAO,EAAEH,UAAUG,OAAO,KAC9CD,UAAUH,UAAUK,WAAW,EAAEJ,UAAUI,WAAW,KACtDL,UAAUM,SAAS,KAAKL,UAAUK,SAAS,IAC3CN,UAAUO,MAAM,KAAKN,UAAUM,MAAM,IACrCP,UAAUN,OAAO,KAAKO,UAAUP,OAAO,IACvCM,UAAUL,WAAW,KAAKM,UAAUN,WAAW,EACjD;AAEF;;;;;;;;;;;;;;;;;;;;CAoBC,GACD,OAAO,SAASa;IACd,MAAMC,UAAUzB,WAAWO;IAC3B,IAAIkB,WAAW,MAAM;QACnB,MAAM,IAAIZ,MAAM;IAClB;IACA,OAAOY;AACT;AAWA,IAAIC,mBAAgD;AAEpD,SAASZ,uBAAuB,EAC9BI,YAAY,EACZI,SAAS,EACTF,OAAO,EACPC,WAAW,EACXZ,QAAQ,EACRc,MAAM,EAC+C;IACrD,MAAMI,kBAAkBC,iBAAiB;QACvCV;QACAI;QACAF;QACAC;QACAE;IACF;IACA,MAAMM,WAAWC,IAAIH;IACrB,qBAAO,KAACpB,cAAcwB,QAAQ;QAACC,OAAOH;kBAAWpB;;AACnD;AAEA,SAASM,0BAA0B,EACjCG,YAAY,EACZI,SAAS,EACTF,OAAO,EACPC,WAAW,EACXZ,QAAQ,EACRc,MAAM,EACNb,OAAO,EACkC;IACzC,MAAMuB,cAAc/B,OAA8B;IAClD,MAAM,CAACgC,SAASC,WAAW,GAAGhC,SAAS;IACvC,MAAM,CAACiC,OAAOC,SAAS,GAAGlC,SAAuB;IAEjDF,UAAU;QACR,eAAeqC;YACb,IAAI;gBACF,MAAMC,KAAK,MAAMC,0BAA0B;oBACzCtB;oBACAI;oBACAF;oBACAC;oBACAE;gBACF;gBACAU,YAAYQ,OAAO,GAAGF;gBACtBJ,WAAW;YACb,EAAE,OAAOO,GAAQ;gBACfL,SAASK;YACX;QACF;QAEA,eAAeC,SAASJ,EAAyB;YAC/C,IAAI;gBACF,MAAMA,IAAIK;YACZ,EAAE,OAAOF,GAAQ;gBACfL,SAASK;YACX;QACF;QAEAJ;QAEA,OAAO;YACL,MAAMC,KAAKN,YAAYQ,OAAO;YAC9BE,SAASJ;YACTN,YAAYQ,OAAO,GAAG;YACtBN,WAAW;QACb;IACF,GAAG;QAACjB;QAAcI;QAAWF;QAASG;KAAO;IAE7C,IAAIa,SAAS,MAAM;QACjB,MAAMS,UACJnC,WACC,CAAA,CAACgC;YACA,MAAMA;QACR,CAAA;QACFG,QAAQT;IACV;IACA,IAAIF,WAAW,CAACD,YAAYQ,OAAO,EAAE;QACnC,OAAO;IACT;IACA,qBAAO,KAAClC,cAAcwB,QAAQ;QAACC,OAAOC,YAAYQ,OAAO;kBAAGhC;;AAC9D;AAEA,SAASmB,iBAAiB,EACxBV,YAAY,EACZI,SAAS,EACTF,OAAO,EACPC,WAAW,EACXE,MAAM,EAIP;IACC,IACEG,kBAAkBoB,WAAW,QAC7BpB,kBAAkBR,iBAAiBA,gBACnCQ,kBAAkBJ,cAAcA,aAChCI,kBAAkBN,YAAYA,WAC9BM,kBAAkBH,WAAWA,QAC7B;QACA,OAAOG,iBAAiBoB,OAAO;IACjC;IAEA,IAAIA;IACJ,IAAIpB,kBAAkBoB,WAAW,MAAM;QACrCA,UAAUpB,iBAAiBoB,OAAO,CAC/BC,IAAI,CAAC,CAACR;YACLA,GAAGK,UAAU;QACf,GACCG,IAAI,CAAC;YACJ,OAAOP,0BAA0B;gBAC/BtB;gBACAI;gBACAF;gBACAC;gBACAE;YACF;QACF;IACJ,OAAO;QACLuB,UAAUN,0BAA0B;YAAEtB;YAAcI;YAAWF;YAASC;YAAaE;QAAO;IAC9F;IACAG,mBAAmB;QACjBR;QACAI;QACAF;QACAG;QACAuB;IACF;IACA,OAAOA;AACT;AAEA,eAAeN,0BAA0B,EACvCtB,YAAY,EACZI,SAAS,EACTF,OAAO,EACPC,WAAW,EACXE,MAAM,EAIP;IACC,IAAIF,eAAe,MAAM;QACvB,MAAM2B,6BAA6B9B,cAAcG,aAAaC;IAChE;IACA,MAAMO,WAAW,MAAMxB,kBAAkBa,cAAcE,SAASE;IAChE,IAAIC,UAAU,MAAM;QAClB,MAAMA,OAAOM;IACf;IACA,OAAOA;AACT;AAEA;;;;;CAKC,GACD,OAAO,eAAemB,6BACpB9B,YAAoB,EACpBG,WAAsC,EACtCC,SAAkB;IAElB,MAAM2B,QAAQ,MAAMrD,MAAMsD,UAAU,CAAC7B,YAAY8B,OAAO,EAAEC,aAAa;IACvE,IAAI,CAACH,MAAMI,QAAQ,EAAE;QACnB,MAAM,IAAIxC,MAAM,CAAC,sCAAsC,EAAEQ,YAAY8B,OAAO,EAAE;IAChF;IACA,MAAMG,OAAOhD,mBAAmBY,cAAcI;IAC9C,MAAMlB,WAAWmD,wBAAwB,CACvCD,MACAL,MAAMI,QAAQ,EACdhC,YAAYmC,cAAc,IAAI;AAElC;AAEA;;CAEC,GACD,OAAO,SAASrC,UACdsC,CAAqC,EACrCC,CAAqC;IAErC,IAAID,MAAMC,GAAG;QACX,OAAO;IACT;IACA,IAAID,KAAK,QAAQC,KAAK,MAAM;QAC1B,OAAO;IACT;IACA,IAAI,OAAOD,MAAM,YAAY,OAAOC,MAAM,UAAU;QAClD,OAAO;IACT;IACA,OACEC,OAAOC,IAAI,CAACH,GAAGI,MAAM,KAAKF,OAAOC,IAAI,CAACF,GAAGG,MAAM,IAC/CF,OAAOC,IAAI,CAACH,GAAGK,KAAK,CAAC,CAACC,MAAQ5C,UAAUsC,CAAC,CAACM,IAAI,EAAEL,CAAC,CAACK,IAAI;AAE1D;AAaA,6IAA6I;AAC7I;;CAEC,GACD,SAASjC,IAAOgB,OAAwC;IACtD,IAAIkB,kBAAkBlB,UAAU;QAC9B,IAAIA,QAAQmB,MAAM,KAAK,aAAa;YAClC,IAAInB,QAAQd,KAAK,KAAKkC,WAAW;gBAC/B,MAAM,IAAIrD,MAAM;YAClB;YACA,OAAOiC,QAAQd,KAAK;QACtB,OAAO,IAAIc,QAAQmB,MAAM,KAAK,YAAY;YACxC,MAAMnB,QAAQqB,MAAM;QACtB,OAAO,IAAIrB,QAAQmB,MAAM,KAAK,WAAW;YACvC,MAAMnB;QACR;QACA,MAAM,IAAIjC,MAAM;IAClB;IAEA,MAAMuD,kBAAkBtB;IACxBsB,gBAAgBH,MAAM,GAAG;IACzBG,gBAAgBrB,IAAI,CAClB,CAACsB;QACCD,gBAAgBH,MAAM,GAAG;QACzBG,gBAAgBpC,KAAK,GAAGqC;IAC1B,GACA,CAACF;QACCC,gBAAgBH,MAAM,GAAG;QACzBG,gBAAgBD,MAAM,GAAGA;IAC3B;IAEF,MAAMC;AACR;AAEA,SAASJ,kBACPlB,OAAwC;IAExC,OAAO,OAAOA,YAAY,YAAYA,YAAY,QAAQ,YAAYA;AACxE,EAEA,YAAY"}
1
+ {"version":3,"sources":["hooks.tsx"],"sourcesContent":[null],"names":["Asset","React","createContext","memo","useContext","useEffect","useRef","useState","ExpoSQLite","openDatabaseAsync","createDatabasePath","SQLiteContext","SQLiteProvider","children","onError","useSuspense","props","Error","SQLiteProviderSuspense","SQLiteProviderNonSuspense","prevProps","nextProps","databaseName","deepEqual","options","assetSource","directory","onInit","useSQLiteContext","context","databaseInstance","stableOptions","useDeepStableValue","stableAssetSource","databasePromise","getDatabaseAsync","database","use","Provider","value","databaseRef","loading","setLoading","error","setError","setup","db","openDatabaseWithInitAsync","current","e","teardown","closeAsync","handler","promise","then","importDatabaseFromAssetAsync","asset","fromModule","assetId","downloadAsync","localUri","path","importAssetDatabaseAsync","forceOverwrite","ref","a","b","Object","keys","length","every","key","isReactUsePromise","status","undefined","reason","suspensePromise","result"],"mappings":";AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,OAAOC,SAASC,aAAa,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AAE5F,OAAOC,gBAAgB,eAAe;AAEtC,SAASC,iBAAiB,QAA6B,mBAAmB;AAC1E,SAASC,kBAAkB,QAAQ,cAAc;AA6EjD;;CAEC,GACD,MAAMC,8BAAgBT,cAAqC;AAE3D;;;CAGC,GACD,OAAO,MAAMU,+BAAiBT,KAC5B,SAASS,eAAe,EACtBC,QAAQ,EACRC,OAAO,EACPC,cAAc,KAAK,EACnB,GAAGC,OACiB;IACpB,IAAIF,WAAW,QAAQC,aAAa;QAClC,MAAM,IAAIE,MAAM;IAClB;IAEA,IAAIF,aAAa;QACf,qBAAO,KAACG;YAAwB,GAAGF,KAAK;sBAAGH;;IAC7C;IAEA,qBACE,KAACM;QAA2B,GAAGH,KAAK;QAAEF,SAASA;kBAC5CD;;AAGP,GACA,CAACO,WAAgCC,YAC/BD,UAAUE,YAAY,KAAKD,UAAUC,YAAY,IACjDC,UAAUH,UAAUI,OAAO,EAAEH,UAAUG,OAAO,KAC9CD,UAAUH,UAAUK,WAAW,EAAEJ,UAAUI,WAAW,KACtDL,UAAUM,SAAS,KAAKL,UAAUK,SAAS,IAC3CN,UAAUO,MAAM,KAAKN,UAAUM,MAAM,IACrCP,UAAUN,OAAO,KAAKO,UAAUP,OAAO,IACvCM,UAAUL,WAAW,KAAKM,UAAUN,WAAW,IAC/CK,UAAUP,QAAQ,KAAKQ,UAAUR,QAAQ,EAC3C;AAEF;;;;;;;;;;;;;;;;;;;;CAoBC,GACD,OAAO,SAASe;IACd,MAAMC,UAAUzB,WAAWO;IAC3B,IAAIkB,WAAW,MAAM;QACnB,MAAM,IAAIZ,MAAM;IAClB;IACA,OAAOY;AACT;AAWA,IAAIC,mBAAgD;AAEpD,SAASZ,uBAAuB,EAC9BI,YAAY,EACZI,SAAS,EACTF,OAAO,EACPC,WAAW,EACXZ,QAAQ,EACRc,MAAM,EAC+C;IACrD,MAAMI,gBAAgBC,mBAAmBR;IACzC,MAAMS,oBAAoBD,mBAAmBP;IAC7C,MAAMS,kBAAkBC,iBAAiB;QACvCb;QACAI;QACAF,SAASO;QACTN,aAAaQ;QACbN;IACF;IACA,MAAMS,WAAWC,IAAIH;IACrB,qBAAO,KAACvB,cAAc2B,QAAQ;QAACC,OAAOH;kBAAWvB;;AACnD;AAEA,SAASM,0BAA0B,EACjCG,YAAY,EACZI,SAAS,EACTF,OAAO,EACPC,WAAW,EACXZ,QAAQ,EACRc,MAAM,EACNb,OAAO,EACkC;IACzC,MAAM0B,cAAclC,OAA8B;IAClD,MAAM,CAACmC,SAASC,WAAW,GAAGnC,SAAS;IACvC,MAAM,CAACoC,OAAOC,SAAS,GAAGrC,SAAuB;IAEjD,MAAMwB,gBAAgBC,mBAAmBR;IACzC,MAAMS,oBAAoBD,mBAAmBP;IAE7CpB,UAAU;QACR,eAAewC;YACb,IAAI;gBACF,MAAMC,KAAK,MAAMC,0BAA0B;oBACzCzB;oBACAI;oBACAF,SAASO;oBACTN,aAAaQ;oBACbN;gBACF;gBACAa,YAAYQ,OAAO,GAAGF;gBACtBJ,WAAW;YACb,EAAE,OAAOO,GAAQ;gBACfL,SAASK;YACX;QACF;QAEA,eAAeC,SAASJ,EAAyB;YAC/C,IAAI;gBACF,MAAMA,IAAIK;YACZ,EAAE,OAAOF,GAAQ;gBACfL,SAASK;YACX;QACF;QAEAJ;QAEA,OAAO;YACL,MAAMC,KAAKN,YAAYQ,OAAO;YAC9BE,SAASJ;YACTN,YAAYQ,OAAO,GAAG;YACtBN,WAAW;QACb;IACF,GAAG;QAACpB;QAAcI;QAAWK;QAAeE;QAAmBN;KAAO;IAEtE,IAAIgB,SAAS,MAAM;QACjB,MAAMS,UACJtC,WACC,CAAA,CAACmC;YACA,MAAMA;QACR,CAAA;QACFG,QAAQT;IACV;IACA,IAAIF,WAAW,CAACD,YAAYQ,OAAO,EAAE;QACnC,OAAO;IACT;IACA,qBAAO,KAACrC,cAAc2B,QAAQ;QAACC,OAAOC,YAAYQ,OAAO;kBAAGnC;;AAC9D;AAEA,SAASsB,iBAAiB,EACxBb,YAAY,EACZI,SAAS,EACTF,OAAO,EACPC,WAAW,EACXE,MAAM,EAIP;IACC,IACEG,kBAAkBuB,WAAW,QAC7BvB,kBAAkBR,iBAAiBA,gBACnCQ,kBAAkBJ,cAAcA,aAChCI,kBAAkBN,YAAYA,WAC9BM,kBAAkBL,gBAAgBA,eAClCK,kBAAkBH,WAAWA,QAC7B;QACA,OAAOG,iBAAiBuB,OAAO;IACjC;IAEA,IAAIA;IACJ,IAAIvB,kBAAkBuB,WAAW,MAAM;QACrCA,UAAUvB,iBAAiBuB,OAAO,CAC/BC,IAAI,CAAC,CAACR;YACLA,GAAGK,UAAU;QACf,GACCG,IAAI,CAAC;YACJ,OAAOP,0BAA0B;gBAC/BzB;gBACAI;gBACAF;gBACAC;gBACAE;YACF;QACF;IACJ,OAAO;QACL0B,UAAUN,0BAA0B;YAAEzB;YAAcI;YAAWF;YAASC;YAAaE;QAAO;IAC9F;IACAG,mBAAmB;QACjBR;QACAI;QACAF;QACAC;QACAE;QACA0B;IACF;IACA,OAAOA;AACT;AAEA,eAAeN,0BAA0B,EACvCzB,YAAY,EACZI,SAAS,EACTF,OAAO,EACPC,WAAW,EACXE,MAAM,EAIP;IACC,IAAIF,eAAe,MAAM;QACvB,MAAM8B,6BAA6BjC,cAAcG,aAAaC;IAChE;IACA,MAAMU,WAAW,MAAM3B,kBAAkBa,cAAcE,SAASE;IAChE,IAAIC,UAAU,MAAM;QAClB,MAAMA,OAAOS;IACf;IACA,OAAOA;AACT;AAEA;;;;;CAKC,GACD,OAAO,eAAemB,6BACpBjC,YAAoB,EACpBG,WAAsC,EACtCC,SAAkB;IAElB,MAAM8B,QAAQ,MAAMxD,MAAMyD,UAAU,CAAChC,YAAYiC,OAAO,EAAEC,aAAa;IACvE,IAAI,CAACH,MAAMI,QAAQ,EAAE;QACnB,MAAM,IAAI3C,MAAM,CAAC,sCAAsC,EAAEQ,YAAYiC,OAAO,EAAE;IAChF;IACA,MAAMG,OAAOnD,mBAAmBY,cAAcI;IAC9C,MAAMlB,WAAWsD,wBAAwB,CACvCD,MACAL,MAAMI,QAAQ,EACdnC,YAAYsC,cAAc,IAAI;AAElC;AAEA;;CAEC,GACD,SAAS/B,mBAAsBO,KAAQ;IACrC,MAAMyB,MAAM1D,OAAOiC;IACnB,IACE,CAAChB,UACCyC,IAAIhB,OAAO,EACXT,QAEF;QACAyB,IAAIhB,OAAO,GAAGT;IAChB;IACA,OAAOyB,IAAIhB,OAAO;AACpB;AAEA;;CAEC,GACD,OAAO,SAASzB,UACd0C,CAAqC,EACrCC,CAAqC;IAErC,IAAID,MAAMC,GAAG;QACX,OAAO;IACT;IACA,IAAID,KAAK,QAAQC,KAAK,MAAM;QAC1B,OAAO;IACT;IACA,IAAI,OAAOD,MAAM,YAAY,OAAOC,MAAM,UAAU;QAClD,OAAO;IACT;IACA,OACEC,OAAOC,IAAI,CAACH,GAAGI,MAAM,KAAKF,OAAOC,IAAI,CAACF,GAAGG,MAAM,IAC/CF,OAAOC,IAAI,CAACH,GAAGK,KAAK,CAAC,CAACC,MAAQhD,UAAU0C,CAAC,CAACM,IAAI,EAAEL,CAAC,CAACK,IAAI;AAE1D;AAaA,6IAA6I;AAC7I;;CAEC,GACD,SAASlC,IAAOgB,OAAwC;IACtD,IAAImB,kBAAkBnB,UAAU;QAC9B,IAAIA,QAAQoB,MAAM,KAAK,aAAa;YAClC,IAAIpB,QAAQd,KAAK,KAAKmC,WAAW;gBAC/B,MAAM,IAAIzD,MAAM;YAClB;YACA,OAAOoC,QAAQd,KAAK;QACtB,OAAO,IAAIc,QAAQoB,MAAM,KAAK,YAAY;YACxC,MAAMpB,QAAQsB,MAAM;QACtB,OAAO,IAAItB,QAAQoB,MAAM,KAAK,WAAW;YACvC,MAAMpB;QACR;QACA,MAAM,IAAIpC,MAAM;IAClB;IAEA,MAAM2D,kBAAkBvB;IACxBuB,gBAAgBH,MAAM,GAAG;IACzBG,gBAAgBtB,IAAI,CAClB,CAACuB;QACCD,gBAAgBH,MAAM,GAAG;QACzBG,gBAAgBrC,KAAK,GAAGsC;IAC1B,GACA,CAACF;QACCC,gBAAgBH,MAAM,GAAG;QACzBG,gBAAgBD,MAAM,GAAGA;IAC3B;IAEF,MAAMC;AACR;AAEA,SAASJ,kBACPnB,OAAwC;IAExC,OAAO,OAAOA,YAAY,YAAYA,YAAY,QAAQ,YAAYA;AACxE,EAEA,YAAY"}
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/css/global-b1bdf830cdbd0ec4238cc5f230f99460.css" as="style"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/js/web/__expo-metro-runtime-8c088df87a31e4e6accd81c554ec290d.js" as="script"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/js/web/_layout-060b9ecaa460bd32d255f66637607869.js" as="script"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/js/web/__common-425446d25ba9d38253f26183ba3298e8.js" as="script"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/js/web/entry-af8fb12d7df2570a36e0f9ecffc3e96e.js" as="script"/><style id="expo-reset">#root,body,html{height:100%}body{overflow:hidden}#root{display:flex}</style><style id="react-native-stylesheet">[stylesheet-group="0"]{}
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/css/global-b1bdf830cdbd0ec4238cc5f230f99460.css" as="style"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/js/web/__expo-metro-runtime-8c088df87a31e4e6accd81c554ec290d.js" as="script"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/js/web/_layout-acb144d1f99a64d1785af7527d659b2a.js" as="script"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/js/web/__common-a91396a33c562b43d2b77a6ffc575fb7.js" as="script"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/js/web/entry-e3975197f566bcbd43c64e4d22104a7f.js" as="script"/><style id="expo-reset">#root,body,html{height:100%}body{overflow:hidden}#root{display:flex}</style><style id="react-native-stylesheet">[stylesheet-group="0"]{}
2
2
  body{margin:0;}
3
3
  button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}
4
4
  html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}
@@ -313,4 +313,4 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
313
313
  @keyframes r-1pzkwqh{0%{transform:translateY(100%);}100%{transform:translateY(0%);}}
314
314
  @keyframes r-imtty0{0%{opacity:0;}100%{opacity:1;}}
315
315
  @keyframes r-q67da2{0%{transform:translateX(-100%);}100%{transform:translateX(400%);}}
316
- @keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><link rel="stylesheet" href="/_expo/plugins/expo-sqlite/_expo/static/css/global-b1bdf830cdbd0ec4238cc5f230f99460.css"/></head><body><div id="root"><!--$--><div class="css-g5y9jx r-13awgt0"></div><!--/$--></div><script defer="" src="/_expo/plugins/expo-sqlite/_expo/static/js/web/__expo-metro-runtime-8c088df87a31e4e6accd81c554ec290d.js"></script><script defer="" src="/_expo/plugins/expo-sqlite/_expo/static/js/web/_layout-060b9ecaa460bd32d255f66637607869.js"></script><script defer="" src="/_expo/plugins/expo-sqlite/_expo/static/js/web/__common-425446d25ba9d38253f26183ba3298e8.js"></script><script defer="" src="/_expo/plugins/expo-sqlite/_expo/static/js/web/entry-af8fb12d7df2570a36e0f9ecffc3e96e.js"></script><script id="_R_">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script></body></html>
316
+ @keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><link rel="stylesheet" href="/_expo/plugins/expo-sqlite/_expo/static/css/global-b1bdf830cdbd0ec4238cc5f230f99460.css"/></head><body><div id="root"><!--$--><div class="css-g5y9jx r-13awgt0"></div><!--/$--></div><script defer="" src="/_expo/plugins/expo-sqlite/_expo/static/js/web/__expo-metro-runtime-8c088df87a31e4e6accd81c554ec290d.js"></script><script defer="" src="/_expo/plugins/expo-sqlite/_expo/static/js/web/_layout-acb144d1f99a64d1785af7527d659b2a.js"></script><script defer="" src="/_expo/plugins/expo-sqlite/_expo/static/js/web/__common-a91396a33c562b43d2b77a6ffc575fb7.js"></script><script defer="" src="/_expo/plugins/expo-sqlite/_expo/static/js/web/entry-e3975197f566bcbd43c64e4d22104a7f.js"></script><script id="_R_">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script></body></html>