@evolu/react-native 7.1.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteLive.d.ts","sourceRoot":"","sources":["../src/SqliteLive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,MAAM,EAMP,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,eAAO,MAAM,UAAU,oCA6BtB,CAAC"}
1
+ {"version":3,"file":"SqliteLive.d.ts","sourceRoot":"","sources":["../src/SqliteLive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,MAAM,EAMP,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,eAAO,MAAM,UAAU,oCA0BtB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Config, Sqlite, ensureSqliteQuery, isSqlMutation, maybeParseJson, valuesToSqliteValues, } from "@evolu/common";
1
+ import { Config, Sqlite, isSqlMutation, maybeLogSqliteQueryExecutionTime, maybeParseJson, valuesToSqliteValues, } from "@evolu/common";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Layer from "effect/Layer";
4
4
  import * as ExpoSQLite from "expo-sqlite/next";
@@ -6,18 +6,14 @@ export const SqliteLive = Layer.effect(Sqlite, Effect.gen(function* (_) {
6
6
  const config = yield* _(Config);
7
7
  const db = ExpoSQLite.openDatabaseSync(`evolu1-${config.name}.db`);
8
8
  return Sqlite.of({
9
- exec: (arg) => Effect.gen(function* (_) {
10
- const sqliteQuery = ensureSqliteQuery(arg);
11
- const query = {
12
- sql: sqliteQuery.sql,
13
- args: valuesToSqliteValues(sqliteQuery.parameters),
14
- };
9
+ exec: (query) => Effect.gen(function* (_) {
10
+ const parameters = valuesToSqliteValues(query.parameters || []);
15
11
  if (!isSqlMutation(query.sql)) {
16
- const rows = (yield* _(Effect.promise(() => db.getAllAsync(query.sql, query.args))));
12
+ const rows = (yield* _(Effect.promise(() => db.getAllAsync(query.sql, parameters)), maybeLogSqliteQueryExecutionTime(query)));
17
13
  maybeParseJson(rows);
18
14
  return { rows, changes: 0 };
19
15
  }
20
- const { changes } = yield* _(Effect.promise(() => db.runAsync(query.sql, query.args)));
16
+ const { changes } = yield* _(Effect.promise(() => db.runAsync(query.sql, parameters)));
21
17
  return { rows: [], changes };
22
18
  }),
23
19
  });
package/dist/index.d.ts CHANGED
@@ -18,19 +18,19 @@ export declare const parseMnemonic: (mnemonic: string) => Effect.Effect<Mnemonic
18
18
  * } from "@evolu/react-native";
19
19
  *
20
20
  * const TodoId = id("Todo");
21
- * type TodoId = S.Schema.To<typeof TodoId>;
21
+ * type TodoId = S.Schema.Type<typeof TodoId>;
22
22
  *
23
23
  * const TodoTable = table({
24
24
  * id: TodoId,
25
25
  * title: NonEmptyString1000,
26
26
  * });
27
- * type TodoTable = S.Schema.To<typeof TodoTable>;
27
+ * type TodoTable = S.Schema.Type<typeof TodoTable>;
28
28
  *
29
29
  * const Database = database({
30
30
  * // _todo is local-only table
31
31
  * todo: TodoTable,
32
32
  * });
33
- * type Database = S.Schema.To<typeof Database>;
33
+ * type Database = S.Schema.Type<typeof Database>;
34
34
  *
35
35
  * const evolu = createEvolu(Database);
36
36
  */
package/dist/index.js CHANGED
@@ -21,19 +21,19 @@ export const parseMnemonic = Bip39.pipe(Effect.provide(Bip39Live), Effect.runSyn
21
21
  * } from "@evolu/react-native";
22
22
  *
23
23
  * const TodoId = id("Todo");
24
- * type TodoId = S.Schema.To<typeof TodoId>;
24
+ * type TodoId = S.Schema.Type<typeof TodoId>;
25
25
  *
26
26
  * const TodoTable = table({
27
27
  * id: TodoId,
28
28
  * title: NonEmptyString1000,
29
29
  * });
30
- * type TodoTable = S.Schema.To<typeof TodoTable>;
30
+ * type TodoTable = S.Schema.Type<typeof TodoTable>;
31
31
  *
32
32
  * const Database = database({
33
33
  * // _todo is local-only table
34
34
  * todo: TodoTable,
35
35
  * });
36
- * type Database = S.Schema.To<typeof Database>;
36
+ * type Database = S.Schema.Type<typeof Database>;
37
37
  *
38
38
  * const evolu = createEvolu(Database);
39
39
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evolu/react-native",
3
- "version": "7.1.0",
3
+ "version": "8.0.0",
4
4
  "description": "Evolu for React Native",
5
5
  "keywords": [
6
6
  "evolu",
@@ -35,21 +35,21 @@
35
35
  },
36
36
  "devDependencies": {
37
37
  "eslint": "^8.57.0",
38
- "expo": "^50.0.11",
39
- "expo-sqlite": "~13.3.0",
40
- "react-native": "0.73.4",
41
- "typescript": "^5.4.2",
42
- "vitest": "^1.3.1",
43
- "@evolu/common": "4.0.2",
44
- "@evolu/common-react": "6.0.2",
38
+ "expo": "^50.0.14",
39
+ "expo-sqlite": "~13.4.0",
40
+ "react-native": "0.73.6",
41
+ "typescript": "^5.4.3",
42
+ "vitest": "^1.4.0",
43
+ "@evolu/common": "4.1.0",
44
+ "@evolu/common-react": "7.0.0",
45
45
  "@evolu/tsconfig": "0.0.2",
46
46
  "eslint-config-evolu": "1.0.0"
47
47
  },
48
48
  "peerDependencies": {
49
- "@evolu/common-react": "^6.0.2",
50
- "expo": "^50.0.11",
51
- "expo-sqlite": "~13.3.0",
52
- "react-native": "0.73.4"
49
+ "@evolu/common-react": "^7.0.0",
50
+ "expo": "^50.0.14",
51
+ "expo-sqlite": "~13.4.0",
52
+ "react-native": "0.73.6"
53
53
  },
54
54
  "publishConfig": {
55
55
  "access": "public"
package/src/SqliteLive.ts CHANGED
@@ -2,8 +2,8 @@ import {
2
2
  Config,
3
3
  Sqlite,
4
4
  SqliteRow,
5
- ensureSqliteQuery,
6
5
  isSqlMutation,
6
+ maybeLogSqliteQueryExecutionTime,
7
7
  maybeParseJson,
8
8
  valuesToSqliteValues,
9
9
  } from "@evolu/common";
@@ -18,23 +18,20 @@ export const SqliteLive = Layer.effect(
18
18
  const db = ExpoSQLite.openDatabaseSync(`evolu1-${config.name}.db`);
19
19
 
20
20
  return Sqlite.of({
21
- exec: (arg) =>
21
+ exec: (query) =>
22
22
  Effect.gen(function* (_) {
23
- const sqliteQuery = ensureSqliteQuery(arg);
24
- const query = {
25
- sql: sqliteQuery.sql,
26
- args: valuesToSqliteValues(sqliteQuery.parameters),
27
- };
23
+ const parameters = valuesToSqliteValues(query.parameters || []);
28
24
 
29
25
  if (!isSqlMutation(query.sql)) {
30
26
  const rows = (yield* _(
31
- Effect.promise(() => db.getAllAsync(query.sql, query.args)),
27
+ Effect.promise(() => db.getAllAsync(query.sql, parameters)),
28
+ maybeLogSqliteQueryExecutionTime(query),
32
29
  )) as SqliteRow[];
33
30
  maybeParseJson(rows);
34
31
  return { rows, changes: 0 };
35
32
  }
36
33
  const { changes } = yield* _(
37
- Effect.promise(() => db.runAsync(query.sql, query.args)),
34
+ Effect.promise(() => db.runAsync(query.sql, parameters)),
38
35
  );
39
36
  return { rows: [], changes };
40
37
  }),
package/src/index.ts CHANGED
@@ -46,19 +46,19 @@ export const parseMnemonic: (
46
46
  * } from "@evolu/react-native";
47
47
  *
48
48
  * const TodoId = id("Todo");
49
- * type TodoId = S.Schema.To<typeof TodoId>;
49
+ * type TodoId = S.Schema.Type<typeof TodoId>;
50
50
  *
51
51
  * const TodoTable = table({
52
52
  * id: TodoId,
53
53
  * title: NonEmptyString1000,
54
54
  * });
55
- * type TodoTable = S.Schema.To<typeof TodoTable>;
55
+ * type TodoTable = S.Schema.Type<typeof TodoTable>;
56
56
  *
57
57
  * const Database = database({
58
58
  * // _todo is local-only table
59
59
  * todo: TodoTable,
60
60
  * });
61
- * type Database = S.Schema.To<typeof Database>;
61
+ * type Database = S.Schema.Type<typeof Database>;
62
62
  *
63
63
  * const evolu = createEvolu(Database);
64
64
  */