@koolbase/react-native 10.1.0 → 10.2.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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,13 @@ adheres to [Semantic Versioning][semver].
7
7
  [kac]: https://keepachangelog.com/en/1.1.0/
8
8
  [semver]: https://semver.org/
9
9
 
10
+ ## 10.2.0
11
+
12
+ ### Changed
13
+
14
+ - The platform seam gains a locking contract. React Native satisfies it by
15
+ running the function: one process, one store, nothing to coordinate.
16
+
10
17
  ## 10.1.0
11
18
 
12
19
  ### Changed
@@ -38,6 +38,13 @@ function reactNativePlatform() {
38
38
  os: String(react_native_1.Platform.OS),
39
39
  version: String(react_native_1.Platform.Version),
40
40
  },
41
+ // A React Native app is one process over its own storage. Two copies of
42
+ // the SDK cannot be racing over one AsyncStorage, so the in-process
43
+ // serialisation in offline-state is the whole answer.
44
+ locks: {
45
+ exclusive: (_name, fn) => fn(),
46
+ tryExclusive: async (_name, fn) => { await fn(); return { ran: true }; },
47
+ },
41
48
  authStorage: () => ((0, auth_storage_js_1.isKeychainAvailable)() ? new auth_storage_js_1.SecureAuthStorage() : null),
42
49
  };
43
50
  }
@@ -32,6 +32,13 @@ export function reactNativePlatform() {
32
32
  os: String(Platform.OS),
33
33
  version: String(Platform.Version),
34
34
  },
35
+ // A React Native app is one process over its own storage. Two copies of
36
+ // the SDK cannot be racing over one AsyncStorage, so the in-process
37
+ // serialisation in offline-state is the whole answer.
38
+ locks: {
39
+ exclusive: (_name, fn) => fn(),
40
+ tryExclusive: async (_name, fn) => { await fn(); return { ran: true }; },
41
+ },
35
42
  authStorage: () => (isKeychainAvailable() ? new SecureAuthStorage() : null),
36
43
  };
37
44
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koolbase/react-native",
3
- "version": "10.1.0",
3
+ "version": "10.2.0",
4
4
  "description": "React Native SDK for Koolbase \u2014 auth, database, storage, realtime, feature flags, and functions in one package.",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/esm/index.d.ts",
@@ -24,7 +24,7 @@
24
24
  "url": "https://github.com/koolbase/koolbase-react-native"
25
25
  },
26
26
  "dependencies": {
27
- "@koolbase/core": "10.1.0"
27
+ "@koolbase/core": "10.2.0"
28
28
  },
29
29
  "peerDependencies": {
30
30
  "@react-native-async-storage/async-storage": "^3.0.2",