jazz-react-native 0.14.22 → 0.14.24

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,4 +1,4 @@
1
1
 
2
- > jazz-react-native@0.14.22 build /home/runner/_work/jazz/jazz/packages/jazz-react-native
2
+ > jazz-react-native@0.14.24 build /home/runner/_work/jazz/jazz/packages/jazz-react-native
3
3
  > rm -rf ./dist && tsc --sourceMap --outDir dist
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # jazz-browser
2
2
 
3
+ ## 0.14.24
4
+
5
+ ### Patch Changes
6
+
7
+ - 678f326: Reuse the same db connection when switching users instead of closing/opening a new one
8
+ - cojson@0.14.24
9
+ - cojson-storage@0.14.24
10
+ - jazz-react-native-core@0.14.24
11
+ - jazz-tools@0.14.24
12
+
13
+ ## 0.14.23
14
+
15
+ ### Patch Changes
16
+
17
+ - 5f42c97: Close the DB connection when the node/context is closed
18
+ - Updated dependencies [1ca9299]
19
+ - Updated dependencies [9177579]
20
+ - Updated dependencies [5f42c97]
21
+ - cojson@0.14.23
22
+ - jazz-tools@0.14.23
23
+ - cojson-storage@0.14.23
24
+ - jazz-react-native-core@0.14.23
25
+
3
26
  ## 0.14.22
4
27
 
5
28
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EACL,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACf,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,wBAAgB,YAAY,CAC1B,CAAC,SACG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,GACjD,gBAAgB,EACpB,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,qBAW5B"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EACL,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACf,MAAM,YAAY,CAAC;AACpB,OAAO,KAAkB,MAAM,OAAO,CAAC;AAIvC,wBAAgB,YAAY,CAC1B,CAAC,SACG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,GACjD,gBAAgB,EACpB,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,qBAW5B"}
package/dist/provider.js CHANGED
@@ -1,10 +1,15 @@
1
1
  import { JazzProviderCore } from "jazz-react-native-core";
2
- import React from "react";
2
+ import React, { useMemo } from "react";
3
3
  import { MMKVStore } from "./storage/mmkv-store-adapter.js";
4
4
  import { OPSQLiteAdapter } from "./storage/op-sqlite-adapter.js";
5
5
  export function JazzProvider(props) {
6
6
  // Destructure kvStore and pass everything else via rest
7
- const { kvStore, storage, ...rest } = props;
8
- return (<JazzProviderCore {...rest} storage={storage ?? new OPSQLiteAdapter()} kvStore={kvStore ?? new MMKVStore()}/>);
7
+ const storage = useMemo(() => {
8
+ return props.storage ?? new OPSQLiteAdapter();
9
+ }, [props.storage]);
10
+ const kvStore = useMemo(() => {
11
+ return props.kvStore ?? new MMKVStore();
12
+ }, [props.kvStore]);
13
+ return <JazzProviderCore {...props} storage={storage} kvStore={kvStore}/>;
9
14
  }
10
15
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAqB,MAAM,wBAAwB,CAAC;AAO7E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,UAAU,YAAY,CAI1B,KAA2B;IAC3B,wDAAwD;IACxD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAE5C,OAAO,CACL,CAAC,gBAAgB,CACf,IAAI,IAAI,CAAC,CACT,OAAO,CAAC,CAAC,OAAO,IAAI,IAAI,eAAe,EAAE,CAAC,CAC1C,OAAO,CAAC,CAAC,OAAO,IAAI,IAAI,SAAS,EAAE,CAAC,EACpC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAqB,MAAM,wBAAwB,CAAC;AAO7E,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,UAAU,YAAY,CAI1B,KAA2B;IAC3B,wDAAwD;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,OAAO,KAAK,CAAC,OAAO,IAAI,IAAI,eAAe,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,OAAO,KAAK,CAAC,OAAO,IAAI,IAAI,SAAS,EAAE,CAAC;IAC1C,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpB,OAAO,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAG,CAAC;AAC7E,CAAC"}
@@ -8,5 +8,6 @@ export declare class OPSQLiteAdapter implements SQLiteDatabaseDriverAsync {
8
8
  get<T>(sql: string, params?: unknown[]): Promise<T | undefined>;
9
9
  run(sql: string, params?: unknown[]): Promise<void>;
10
10
  transaction(callback: () => unknown): Promise<void>;
11
+ closeDb(): Promise<void>;
11
12
  }
12
13
  //# sourceMappingURL=op-sqlite-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"op-sqlite-adapter.d.ts","sourceRoot":"","sources":["../../src/storage/op-sqlite-adapter.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,qBAAa,eAAgB,YAAW,yBAAyB;IAC/D,OAAO,CAAC,EAAE,CAA2B;IACrC,OAAO,CAAC,MAAM,CAAS;gBAEJ,MAAM,GAAE,MAAuB;IAIrC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAUvD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAU/D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE;IAQnC,WAAW,CAAC,QAAQ,EAAE,MAAM,OAAO;CAWjD"}
1
+ {"version":3,"file":"op-sqlite-adapter.d.ts","sourceRoot":"","sources":["../../src/storage/op-sqlite-adapter.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,qBAAa,eAAgB,YAAW,yBAAyB;IAC/D,OAAO,CAAC,EAAE,CAA2B;IACrC,OAAO,CAAC,MAAM,CAAS;gBAEJ,MAAM,GAAE,MAAuB;IAIrC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAUvD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAU/D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE;IAQnC,WAAW,CAAC,QAAQ,EAAE,MAAM,OAAO;IAYnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
@@ -8,6 +8,9 @@ export class OPSQLiteAdapter {
8
8
  this.dbName = dbName;
9
9
  }
10
10
  async initialize() {
11
+ if (this.db) {
12
+ return;
13
+ }
11
14
  const dbPath = Platform.OS === "ios" ? IOS_LIBRARY_PATH : ANDROID_DATABASE_PATH;
12
15
  const db = (this.db = opSQLite.open({
13
16
  name: this.dbName,
@@ -46,5 +49,8 @@ export class OPSQLiteAdapter {
46
49
  throw error;
47
50
  }
48
51
  }
52
+ async closeDb() {
53
+ // Keeping the database open and reusing the same connection over multiple ctx instances.
54
+ }
49
55
  }
50
56
  //# sourceMappingURL=op-sqlite-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"op-sqlite-adapter.js","sourceRoot":"","sources":["../../src/storage/op-sqlite-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AACtD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAMxC,MAAM,OAAO,eAAe;IAClB,EAAE,GAAsB,IAAI,CAAC;IAC7B,MAAM,CAAS;IAEvB,YAAmB,SAAiB,cAAc;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,MAAM,MAAM,GACV,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAEnE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC,CAAC;QAEJ,MAAM,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,KAAK,CAAI,GAAW,EAAE,MAAkB;QACnD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,MAAe,CAAC,CAAC;QAE3D,OAAO,MAAM,CAAC,IAAW,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,MAAkB;QACjD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,MAAe,CAAC,CAAC;QAE3D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAkB,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,MAAkB;QAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,MAAe,CAAC,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,QAAuB;QAC9C,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEpC,IAAI,CAAC;YACH,MAAM,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"op-sqlite-adapter.js","sourceRoot":"","sources":["../../src/storage/op-sqlite-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AACtD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAMxC,MAAM,OAAO,eAAe;IAClB,EAAE,GAAsB,IAAI,CAAC;IAC7B,MAAM,CAAS;IAEvB,YAAmB,SAAiB,cAAc;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GACV,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAEnE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC,CAAC;QAEJ,MAAM,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,KAAK,CAAI,GAAW,EAAE,MAAkB;QACnD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,MAAe,CAAC,CAAC;QAE3D,OAAO,MAAM,CAAC,IAAW,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,MAAkB;QACjD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,MAAe,CAAC,CAAC;QAE3D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAkB,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,MAAkB;QAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,MAAe,CAAC,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,QAAuB;QAC9C,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEpC,IAAI,CAAC;YACH,MAAM,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,yFAAyF;IAC3F,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jazz-react-native",
3
- "version": "0.14.22",
3
+ "version": "0.14.24",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -28,10 +28,10 @@
28
28
  "@op-engineering/op-sqlite": "^11.4.8",
29
29
  "@scure/base": "1.2.1",
30
30
  "react-native-mmkv": "^3.2.0",
31
- "cojson": "0.14.22",
32
- "cojson-storage": "0.14.22",
33
- "jazz-react-native-core": "0.14.22",
34
- "jazz-tools": "0.14.22"
31
+ "cojson": "0.14.24",
32
+ "cojson-storage": "0.14.24",
33
+ "jazz-react-native-core": "0.14.24",
34
+ "jazz-tools": "0.14.24"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "@react-native-community/netinfo": "*",
package/src/provider.tsx CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  AnyAccountSchema,
6
6
  CoValueFromRaw,
7
7
  } from "jazz-tools";
8
- import React from "react";
8
+ import React, { useMemo } from "react";
9
9
  import { MMKVStore } from "./storage/mmkv-store-adapter.js";
10
10
  import { OPSQLiteAdapter } from "./storage/op-sqlite-adapter.js";
11
11
 
@@ -15,13 +15,13 @@ export function JazzProvider<
15
15
  | AnyAccountSchema,
16
16
  >(props: JazzProviderProps<S>) {
17
17
  // Destructure kvStore and pass everything else via rest
18
- const { kvStore, storage, ...rest } = props;
18
+ const storage = useMemo(() => {
19
+ return props.storage ?? new OPSQLiteAdapter();
20
+ }, [props.storage]);
19
21
 
20
- return (
21
- <JazzProviderCore
22
- {...rest}
23
- storage={storage ?? new OPSQLiteAdapter()}
24
- kvStore={kvStore ?? new MMKVStore()}
25
- />
26
- );
22
+ const kvStore = useMemo(() => {
23
+ return props.kvStore ?? new MMKVStore();
24
+ }, [props.kvStore]);
25
+
26
+ return <JazzProviderCore {...props} storage={storage} kvStore={kvStore} />;
27
27
  }
@@ -18,6 +18,10 @@ export class OPSQLiteAdapter implements SQLiteDatabaseDriverAsync {
18
18
  }
19
19
 
20
20
  public async initialize(): Promise<void> {
21
+ if (this.db) {
22
+ return;
23
+ }
24
+
21
25
  const dbPath =
22
26
  Platform.OS === "ios" ? IOS_LIBRARY_PATH : ANDROID_DATABASE_PATH;
23
27
 
@@ -68,4 +72,8 @@ export class OPSQLiteAdapter implements SQLiteDatabaseDriverAsync {
68
72
  throw error;
69
73
  }
70
74
  }
75
+
76
+ public async closeDb(): Promise<void> {
77
+ // Keeping the database open and reusing the same connection over multiple ctx instances.
78
+ }
71
79
  }