@evolu/react-native 14.3.0 → 15.0.0-next.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.
- package/README.md +3 -3
- package/dist/src/LockManager.d.ts +13 -0
- package/dist/src/LockManager.d.ts.map +1 -0
- package/dist/src/LockManager.js +219 -0
- package/dist/src/Polyfills.d.ts +3 -0
- package/dist/src/Polyfills.d.ts.map +1 -0
- package/dist/src/Polyfills.js +209 -0
- package/dist/src/Task.d.ts +31 -0
- package/dist/src/Task.d.ts.map +1 -0
- package/dist/src/Task.js +46 -0
- package/dist/src/components/EvoluIdenticon.d.ts +9 -0
- package/dist/src/components/EvoluIdenticon.d.ts.map +1 -0
- package/dist/{components → src/components}/EvoluIdenticon.js +1 -1
- package/dist/src/createExpoDeps.d.ts +1 -0
- package/dist/src/createExpoDeps.d.ts.map +1 -0
- package/dist/src/createExpoDeps.js +163 -0
- package/dist/src/exports/bare-op-sqlite.d.ts +1 -0
- package/dist/src/exports/bare-op-sqlite.d.ts.map +1 -0
- package/dist/src/exports/bare-op-sqlite.js +31 -0
- package/dist/src/exports/expo-op-sqlite.d.ts +1 -0
- package/dist/src/exports/expo-op-sqlite.d.ts.map +1 -0
- package/dist/src/exports/expo-op-sqlite.js +16 -0
- package/dist/src/exports/expo-sqlite.d.ts +11 -0
- package/dist/src/exports/expo-sqlite.d.ts.map +1 -0
- package/dist/src/exports/expo-sqlite.js +24 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +3 -0
- package/dist/src/shared.d.ts +5 -0
- package/dist/src/shared.d.ts.map +1 -0
- package/dist/src/shared.js +90 -0
- package/dist/src/sqlite-drivers/createExpoSqliteDriver.d.ts +3 -0
- package/dist/src/sqlite-drivers/createExpoSqliteDriver.d.ts.map +1 -0
- package/dist/src/sqlite-drivers/createExpoSqliteDriver.js +134 -0
- package/dist/src/sqlite-drivers/createOpSqliteDriver.d.ts +3 -0
- package/dist/src/sqlite-drivers/createOpSqliteDriver.d.ts.map +1 -0
- package/dist/src/sqlite-drivers/createOpSqliteDriver.js +119 -0
- package/dist/src/web.d.ts.map +1 -0
- package/package.json +72 -48
- package/src/ErrorUtils.d.ts +19 -0
- package/src/LockManager.ts +325 -0
- package/src/Polyfills.ts +301 -0
- package/src/Task.ts +66 -0
- package/src/components/EvoluIdenticon.tsx +2 -2
- package/src/createExpoDeps.ts +162 -160
- package/src/exports/bare-op-sqlite.ts +30 -28
- package/src/exports/expo-op-sqlite.ts +15 -14
- package/src/exports/expo-sqlite.ts +21 -4
- package/src/index.ts +2 -0
- package/src/shared.ts +115 -49
- package/src/sqlite-drivers/createExpoSqliteDriver.ts +74 -51
- package/src/sqlite-drivers/createOpSqliteDriver.ts +62 -60
- package/dist/components/EvoluIdenticon.d.ts +0 -9
- package/dist/components/EvoluIdenticon.d.ts.map +0 -1
- package/dist/createExpoDeps.d.ts +0 -7
- package/dist/createExpoDeps.d.ts.map +0 -1
- package/dist/createExpoDeps.js +0 -123
- package/dist/exports/bare-op-sqlite.d.ts +0 -10
- package/dist/exports/bare-op-sqlite.d.ts.map +0 -1
- package/dist/exports/bare-op-sqlite.js +0 -24
- package/dist/exports/expo-op-sqlite.d.ts +0 -9
- package/dist/exports/expo-op-sqlite.d.ts.map +0 -1
- package/dist/exports/expo-op-sqlite.js +0 -12
- package/dist/exports/expo-sqlite.d.ts +0 -8
- package/dist/exports/expo-sqlite.d.ts.map +0 -1
- package/dist/exports/expo-sqlite.js +0 -11
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -1
- package/dist/shared.d.ts +0 -5
- package/dist/shared.d.ts.map +0 -1
- package/dist/shared.js +0 -39
- package/dist/sqlite-drivers/createExpoSqliteDriver.d.ts +0 -3
- package/dist/sqlite-drivers/createExpoSqliteDriver.d.ts.map +0 -1
- package/dist/sqlite-drivers/createExpoSqliteDriver.js +0 -46
- package/dist/sqlite-drivers/createOpSqliteDriver.d.ts +0 -3
- package/dist/sqlite-drivers/createOpSqliteDriver.d.ts.map +0 -1
- package/dist/sqlite-drivers/createOpSqliteDriver.js +0 -54
- package/dist/web.d.ts.map +0 -1
- /package/dist/{web.d.ts → src/web.d.ts} +0 -0
- /package/dist/{web.js → src/web.js} +0 -0
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { bytesToHex, constVoid, createPreparedStatementsCache, isSqlMutation, } from "@evolu/common";
|
|
2
|
-
import { open } from "@op-engineering/op-sqlite";
|
|
3
|
-
export const createOpSqliteDriver = (name, options) => {
|
|
4
|
-
// https://op-engineering.github.io/op-sqlite/docs/configuration#in-memory
|
|
5
|
-
const db = open(options?.memory
|
|
6
|
-
? { name: `inMemoryDb`, location: ":memory:" }
|
|
7
|
-
: {
|
|
8
|
-
name: `evolu1-${name}.db`,
|
|
9
|
-
...(options?.encryptionKey && {
|
|
10
|
-
encryptionKey: `x'${bytesToHex(options.encryptionKey)}'`,
|
|
11
|
-
}),
|
|
12
|
-
});
|
|
13
|
-
let isDisposed = false;
|
|
14
|
-
const cache = createPreparedStatementsCache((sql) => db.prepareStatement(sql),
|
|
15
|
-
// op-sqlite doesn't have API for that
|
|
16
|
-
constVoid);
|
|
17
|
-
const driver = {
|
|
18
|
-
exec: (query, isMutation) => {
|
|
19
|
-
const prepared = cache.get(query);
|
|
20
|
-
if (prepared) {
|
|
21
|
-
prepared.bindSync(query.parameters);
|
|
22
|
-
if (isSqlMutation(query.sql)) {
|
|
23
|
-
let changes = 0;
|
|
24
|
-
const { rowsAffected } = db.executeSync(query.sql, query.parameters);
|
|
25
|
-
changes += rowsAffected;
|
|
26
|
-
return { rows: [], changes };
|
|
27
|
-
}
|
|
28
|
-
const { rows } = db.executeSync(query.sql, query.parameters);
|
|
29
|
-
return { rows: rows, changes: 0 };
|
|
30
|
-
}
|
|
31
|
-
if (isMutation) {
|
|
32
|
-
let changes = 0;
|
|
33
|
-
const { rowsAffected } = db.executeSync(query.sql, query.parameters);
|
|
34
|
-
changes += rowsAffected;
|
|
35
|
-
return { rows: [], changes };
|
|
36
|
-
}
|
|
37
|
-
const { rows } = db.executeSync(query.sql, query.parameters);
|
|
38
|
-
return { rows: rows, changes: 0 };
|
|
39
|
-
},
|
|
40
|
-
// FIXME: op-sqlite does not expose binary, but a path to the database file
|
|
41
|
-
// another react native dependency would be needed to implement this
|
|
42
|
-
export: () => {
|
|
43
|
-
throw new Error("TODO: Not implemented yet");
|
|
44
|
-
},
|
|
45
|
-
[Symbol.dispose]: () => {
|
|
46
|
-
if (isDisposed)
|
|
47
|
-
return;
|
|
48
|
-
isDisposed = true;
|
|
49
|
-
cache[Symbol.dispose]();
|
|
50
|
-
db.close();
|
|
51
|
-
},
|
|
52
|
-
};
|
|
53
|
-
return Promise.resolve(driver);
|
|
54
|
-
};
|
package/dist/web.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
File without changes
|
|
File without changes
|