expo-sqlite 58.0.15 → 58.0.17
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.
- package/CHANGELOG.md +13 -0
- package/android/build.gradle +2 -2
- package/android/src/main/java/expo/modules/sqlite/NativeDatabaseBinding.kt +1 -0
- package/android/src/main/java/expo/modules/sqlite/NativeStatement.kt +9 -1
- package/build/hooks.js +22 -7
- package/build/hooks.js.map +1 -1
- package/dev-plugin-dist/+not-found.html +2 -2
- package/dev-plugin-dist/_expo/static/js/web/{__common-6733f4ee4e23ce5a7ba5e6796ae5614d.js → __common-bb2542041f1b094a8c75f25287f1eab8.js} +49 -49
- package/dev-plugin-dist/_expo/static/js/web/{_layout-5200f4e84fc03b29bbb20d34ba8d7af2.js → _layout-87e9b74b8486b174fe5b606bf7605e65.js} +22 -22
- package/dev-plugin-dist/_expo/static/js/web/{entry-18a29c742435a2074dd9b61e19740e04.js → entry-cb0627e9624da3ffdb031f02342db7b2.js} +432 -429
- package/dev-plugin-dist/_expo/static/js/web/{index-5e02eb7e4ad474fb18a1e55732957463.js → index-a0d288042349b07e39078522c3543c6d.js} +1733 -1733
- package/dev-plugin-dist/_expo/static/js/web/{worker-5cb95aace694a129b742d45a71b9c588.js → worker-3dada1e55f01b3914c71823471616780.js} +17 -17
- package/dev-plugin-dist/_sitemap.html +2 -2
- package/dev-plugin-dist/index.html +2 -2
- package/ios/Benchmarks/Benchmarks.swift +5 -5
- package/ios/Benchmarks/JavaScriptBenchmarks.swift +59 -64
- package/ios/Benchmarks/StatementBenchmarks.swift +14 -21
- package/ios/ExpoSQLite.podspec +1 -0
- package/ios/NativeStatement.swift +6 -0
- package/ios/Tests/OpenDatabaseOptionsTests.swift +22 -13
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.15/expo.modules.sqlite-58.0.15-sources.jar → 58.0.17/expo.modules.sqlite-58.0.17-sources.jar} +0 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17-sources.jar.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17-sources.jar.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17-sources.jar.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17-sources.jar.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17.aar +0 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17.aar.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17.aar.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17.aar.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17.aar.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.15/expo.modules.sqlite-58.0.15.module → 58.0.17/expo.modules.sqlite-58.0.17.module} +22 -22
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17.module.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17.module.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17.module.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17.module.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/{58.0.15/expo.modules.sqlite-58.0.15.pom → 58.0.17/expo.modules.sqlite-58.0.17.pom} +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17.pom.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17.pom.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17.pom.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.17/expo.modules.sqlite-58.0.17.pom.sha512 +1 -0
- package/package.json +5 -4
- package/src/hooks.tsx +31 -7
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15-sources.jar.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15-sources.jar.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15-sources.jar.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15-sources.jar.sha512 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15.aar +0 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15.aar.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15.aar.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15.aar.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15.aar.sha512 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15.module.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15.module.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15.module.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15.module.sha512 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15.pom.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15.pom.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15.pom.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.sqlite/58.0.15/expo.modules.sqlite-58.0.15.pom.sha512 +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 58.0.17
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [iOS][Android] Fix every later transaction on a connection failing with `cannot commit transaction - SQL statements in progress` after a statement fails with `database is locked`, by resetting the statement when its run fails. ([#51413](https://github.com/expo/expo/pull/51413) by [@expo-bot](https://github.com/expo-bot))
|
|
8
|
+
- [iOS][Android] Fix `finalizeAsync()` and `finalizeSync()` not reporting the earlier error of a failed `run()`, by resetting the statement only when the run fails with `database is locked`. ([#53339](https://github.com/expo/expo/pull/53339) by [@expo-tuft](https://github.com/apps/expo-tuft))
|
|
9
|
+
|
|
10
|
+
## 58.0.16
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- 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))
|
|
15
|
+
|
|
3
16
|
## 58.0.15
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
package/android/build.gradle
CHANGED
|
@@ -47,7 +47,7 @@ def reactNativeArchitectures() {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
group = 'host.exp.exponent'
|
|
50
|
-
version = '58.0.
|
|
50
|
+
version = '58.0.17'
|
|
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.
|
|
60
|
+
versionName "58.0.17"
|
|
61
61
|
buildConfigField "boolean", "WITH_SQLITE_VEC", project.ext.WITH_SQLITE_VEC.toString()
|
|
62
62
|
|
|
63
63
|
externalNativeBuild {
|
|
@@ -113,7 +113,15 @@ internal class NativeStatement @JS constructor() : SharedRef<NativeStatementBind
|
|
|
113
113
|
|
|
114
114
|
val ret = ref.sqlite3_step()
|
|
115
115
|
if (ret != NativeDatabaseBinding.SQLITE_ROW && ret != NativeDatabaseBinding.SQLITE_DONE) {
|
|
116
|
-
|
|
116
|
+
// A step that fails with SQLITE_BUSY leaves the statement running, so every later COMMIT
|
|
117
|
+
// on the connection fails until the statement is reset.
|
|
118
|
+
// Reset only for SQLITE_BUSY. A reset also clears other errors, which finalize() must still report.
|
|
119
|
+
// Read the message first. sqlite3_reset() replaces lastErrorMessage.
|
|
120
|
+
val message = ref.getLastErrorMessage()
|
|
121
|
+
if ((ret and 0xff) == NativeDatabaseBinding.SQLITE_BUSY) {
|
|
122
|
+
ref.sqlite3_reset()
|
|
123
|
+
}
|
|
124
|
+
throw SQLiteErrorException(message)
|
|
117
125
|
}
|
|
118
126
|
val firstRowValues: List<Any?> =
|
|
119
127
|
if (ret == NativeDatabaseBinding.SQLITE_ROW) {
|
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
|
-
|
|
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) {
|
package/build/hooks.js.map
CHANGED
|
@@ -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,
|
|
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":"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"}
|
|
@@ -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-
|
|
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-87e9b74b8486b174fe5b606bf7605e65.js" as="script"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/js/web/__common-bb2542041f1b094a8c75f25287f1eab8.js" as="script"/><link rel="preload" href="/_expo/plugins/expo-sqlite/_expo/static/js/web/entry-cb0627e9624da3ffdb031f02342db7b2.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-
|
|
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-87e9b74b8486b174fe5b606bf7605e65.js"></script><script defer="" src="/_expo/plugins/expo-sqlite/_expo/static/js/web/__common-bb2542041f1b094a8c75f25287f1eab8.js"></script><script defer="" src="/_expo/plugins/expo-sqlite/_expo/static/js/web/entry-cb0627e9624da3ffdb031f02342db7b2.js"></script><script id="_R_">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script></body></html>
|