jazz-react-native 0.8.35 → 0.8.36
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 +10 -0
- package/README.md +5 -5
- package/dist/index.d.ts +8 -8
- package/dist/index.js +0 -8
- package/dist/index.js.map +1 -1
- package/dist/provider.d.ts +2 -0
- package/dist/provider.js +6 -1
- package/dist/provider.js.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +13 -22
- package/src/provider.tsx +13 -5
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# jazz-browser
|
2
2
|
|
3
|
+
## 0.8.36
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- c84764a: feat: added jazz-react-native-auth-clerk package
|
8
|
+
- Updated dependencies [441fe27]
|
9
|
+
- cojson@0.8.36
|
10
|
+
- jazz-tools@0.8.36
|
11
|
+
- cojson-transport-ws@0.8.36
|
12
|
+
|
3
13
|
## 0.8.35
|
4
14
|
|
5
15
|
### Patch Changes
|
package/README.md
CHANGED
@@ -25,7 +25,7 @@ npx expo prebuild
|
|
25
25
|
### Install dependencies
|
26
26
|
|
27
27
|
```bash
|
28
|
-
npx expo install expo-linking expo-secure-store expo-file-system @react-native-community/netinfo @bam.tech/react-native-image-resizer
|
28
|
+
npx expo install expo-linking expo-secure-store expo-file-system @react-native-community/netinfo @bam.tech/react-native-image-resizer @azure/core-asynciterator-polyfill
|
29
29
|
|
30
30
|
npm i -S react-native-polyfill-globals react-native-url-polyfill web-streams-polyfill base-64 text-encoding react-native-fetch-api react-native-get-random-values buffer
|
31
31
|
|
@@ -196,8 +196,8 @@ You can optionally pass a custom `kvStore` and `AccountSchema` to `createJazzRNA
|
|
196
196
|
|
197
197
|
Refer to the Jazz + React Native demo projects for implementing authentication:
|
198
198
|
|
199
|
-
- [DemoAuth Example](https://github.com/
|
200
|
-
- [ClerkAuth Example](https://github.com/
|
199
|
+
- [DemoAuth Example](https://github.com/garden-co/jazz/tree/main/examples/chat-rn)
|
200
|
+
- [ClerkAuth Example](https://github.com/garden-co/jazz/tree/main/examples/chat-rn-clerk)
|
201
201
|
|
202
202
|
In the demos, you'll find details on:
|
203
203
|
|
@@ -208,7 +208,7 @@ In the demos, you'll find details on:
|
|
208
208
|
|
209
209
|
### 🖼️ Working with Images
|
210
210
|
|
211
|
-
To work with images in Jazz, import the `createImage` function from [`jazz-react-native-media-images`](https://github.com/
|
211
|
+
To work with images in Jazz, import the `createImage` function from [`jazz-react-native-media-images`](https://github.com/garden-co/jazz/tree/main/packages/jazz-react-native-media-images).
|
212
212
|
|
213
213
|
```js
|
214
214
|
import { createImage } from "jazz-react-native-media-images";
|
@@ -223,7 +223,7 @@ const image = await createImage(base64ImageDataURI, {
|
|
223
223
|
someCovalue.image = image;
|
224
224
|
```
|
225
225
|
|
226
|
-
For a complete implementation, please refer to [this](https://github.com/
|
226
|
+
For a complete implementation, please refer to [this](https://github.com/garden-co/jazz/blob/main/examples/pets/src/3_NewPetPostForm.tsx) demo.
|
227
227
|
|
228
228
|
### 📱 Running Your App
|
229
229
|
|
package/dist/index.d.ts
CHANGED
@@ -2,32 +2,32 @@ import { Account, AgentID, AnonymousJazzAgent, AuthMethod, CoValue, CoValueClass
|
|
2
2
|
import { RawAccountID } from "cojson";
|
3
3
|
export { RNDemoAuth } from "./auth/DemoAuthMethod.js";
|
4
4
|
/** @category Context Creation */
|
5
|
-
export type
|
5
|
+
export type ReactNativeContext<Acc extends Account> = {
|
6
6
|
me: Acc;
|
7
7
|
logOut: () => void;
|
8
8
|
done: () => void;
|
9
9
|
};
|
10
|
-
export type
|
10
|
+
export type ReactNativeGuestContext = {
|
11
11
|
guest: AnonymousJazzAgent;
|
12
12
|
logOut: () => void;
|
13
13
|
done: () => void;
|
14
14
|
};
|
15
|
-
export type
|
15
|
+
export type ReactNativeContextOptions<Acc extends Account> = {
|
16
16
|
auth: AuthMethod;
|
17
17
|
AccountSchema: CoValueClass<Acc> & {
|
18
18
|
fromNode: (typeof Account)["fromNode"];
|
19
19
|
};
|
20
|
-
} &
|
21
|
-
export type
|
20
|
+
} & BaseReactNativeContextOptions;
|
21
|
+
export type BaseReactNativeContextOptions = {
|
22
22
|
peer: `wss://${string}` | `ws://${string}`;
|
23
23
|
reconnectionTimeout?: number;
|
24
24
|
storage?: "indexedDB" | "singleTabOPFS";
|
25
25
|
crypto?: CryptoProvider;
|
26
26
|
};
|
27
27
|
/** @category Context Creation */
|
28
|
-
export declare function createJazzRNContext<Acc extends Account>(options:
|
29
|
-
export declare function createJazzRNContext(options:
|
30
|
-
export declare function createJazzRNContext<Acc extends Account>(options:
|
28
|
+
export declare function createJazzRNContext<Acc extends Account>(options: ReactNativeContextOptions<Acc>): Promise<ReactNativeContext<Acc>>;
|
29
|
+
export declare function createJazzRNContext(options: BaseReactNativeContextOptions): Promise<ReactNativeGuestContext>;
|
30
|
+
export declare function createJazzRNContext<Acc extends Account>(options: ReactNativeContextOptions<Acc> | BaseReactNativeContextOptions): Promise<ReactNativeContext<Acc> | ReactNativeGuestContext>;
|
31
31
|
/** @category Auth Providers */
|
32
32
|
export type SessionProvider = (accountID: ID<Account> | AgentID) => Promise<SessionID>;
|
33
33
|
export declare function provideLockSession(accountID: ID<Account> | AgentID, crypto: CryptoProvider): Promise<{
|
package/dist/index.js
CHANGED
@@ -98,14 +98,6 @@ export async function provideLockSession(accountID, crypto) {
|
|
98
98
|
sessionDone,
|
99
99
|
});
|
100
100
|
}
|
101
|
-
const window = {
|
102
|
-
location: {
|
103
|
-
href: "#",
|
104
|
-
},
|
105
|
-
history: {
|
106
|
-
replaceState: (a, b, c) => { },
|
107
|
-
},
|
108
|
-
};
|
109
101
|
/** @category Invite Links */
|
110
102
|
export function createInviteLink(value, role, { baseURL, valueHint } = {}) {
|
111
103
|
const coValueCore = value._raw.core;
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,sDAAsD;AACtD,OAAO,EAWL,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,OAAO,MAAM,iCAAiC,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAwC/D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,sDAAsD;AACtD,OAAO,EAWL,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,OAAO,MAAM,iCAAiC,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAwC/D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAuE;IAEvE,MAAM,WAAW,GAAG,mBAAmB,CAAC;QACtC,SAAS,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACjD,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,IAAI,oBAAoB,GAAG,IAAI,CAAC;IAEhC,IAAI,0BAA0B,GAAG,OAAO,CAAC,mBAAmB,IAAI,GAAG,CAAC;IAEpE,MAAM,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE;QAClE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,0BAA0B,GAAG,OAAO,CAAC,mBAAmB,IAAI,GAAG,CAAC;QAClE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GACX,MAAM,IAAI,OAAO;QACf,CAAC,CAAC,MAAM,iBAAiB,CAAC;YACtB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,MAAM,YAAY,CAAC,MAAM,EAAE;YACnC,eAAe,EAAE,CAAC,WAAW,CAAC;YAC9B,eAAe,EAAE,kBAAkB;SACpC,CAAC;QACJ,CAAC,CAAC,MAAM,iBAAiB,CAAC;YACtB,MAAM,EAAE,MAAM,YAAY,CAAC,MAAM,EAAE;YACnC,eAAe,EAAE,CAAC,WAAW,CAAC;SAC/B,CAAC,CAAC;IAET,MAAM,IAAI,GACR,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IAE7E,KAAK,UAAU,sBAAsB;QACnC,OAAO,oBAAoB,EAAE,CAAC;YAC5B,IACE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAClD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAC9B,EACD,CAAC;gBACD,wDAAwD;gBACxD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CACT,iDAAiD;oBAC/C,0BAA0B;oBAC1B,IAAI,CACP,CAAC;gBACF,0BAA0B,GAAG,IAAI,CAAC,GAAG,CACnC,0BAA0B,GAAG,CAAC,EAC9B,KAAK,CACN,CAAC;gBACF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAClC,UAAU,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;oBAChD,MAAM,yBAAyB,GAAG,OAAO,CAAC,gBAAgB,CACxD,CAAC,KAAK,EAAE,EAAE;wBACR,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;4BACtB,OAAO,EAAE,CAAC;4BACV,yBAAyB,EAAE,CAAC;wBAC9B,CAAC;oBACH,CAAC,CACF,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,WAAW,CAAC,OAAO,CACtB,mBAAmB,CAAC;oBAClB,SAAS,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;oBACtC,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACjD,IAAI,EAAE,QAAQ;iBACf,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,sBAAsB,EAAE,CAAC;IAE9B,OAAO,SAAS,IAAI,OAAO;QACzB,CAAC,CAAC;YACE,EAAE,EAAE,OAAO,CAAC,OAAO;YACnB,IAAI,EAAE,GAAG,EAAE;gBACT,oBAAoB,GAAG,KAAK,CAAC;gBAC7B,wBAAwB,EAAE,EAAE,CAAC;gBAC7B,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,CAAC;SACF;QACH,CAAC,CAAC;YACE,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,GAAG,EAAE;gBACT,oBAAoB,GAAG,KAAK,CAAC;gBAC7B,wBAAwB,EAAE,EAAE,CAAC;gBAC7B,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,CAAC;SACF,CAAC;AACR,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAgC,EAChC,MAAsB;IAEtB,MAAM,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IAE7B,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC;IAE1D,MAAM,SAAS,GACZ,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAe;QAC7C,MAAM,CAAC,kBAAkB,CAAC,SAAmC,CAAC,CAAC;IACjE,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAExC,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,SAAS;QACT,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,gBAAgB,CAC9B,KAAQ,EACR,IAAmC,EACnC,EAAE,OAAO,EAAE,SAAS,KAA+C,EAAE;IAErE,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IACpC,IAAI,cAAc,GAAG,WAAW,CAAC;IAEjC,OAAO,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC7D,cAAc,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;IAClD,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAE9C,OAAO,GAAG,OAAO,WAAW,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAC1D,KAAK,CAAC,EACR,IAAI,YAAY,EAAE,CAAC;AACrB,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,eAAe,CAC7B,SAAiB;IAQjB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAEnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,SAA6B,CAAC;IAClC,IAAI,OAA0B,CAAC;IAC/B,IAAI,YAAsC,CAAC;IAE3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,OAAO,GAAG,KAAK,CAAC,CAAC,CAAU,CAAC;QAC5B,YAAY,GAAG,KAAK,CAAC,CAAC,CAAiB,CAAC;IAC1C,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,KAAK,CAAC,CAAC,CAAU,CAAC;QAC5B,YAAY,GAAG,KAAK,CAAC,CAAC,CAAiB,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS;AAET,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC"}
|
package/dist/provider.d.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import { Account, AccountClass, AnonymousJazzAgent, AuthMethod, CoValue, CoValueClass, DeeplyLoaded, DepthsIn, ID } from "jazz-tools";
|
3
|
+
import { KvStore } from "./index.js";
|
3
4
|
import { ExpoSecureStoreAdapter } from "./storage/expo-secure-store-adapter.js";
|
4
5
|
/** @category Context & Hooks */
|
5
6
|
export declare function createJazzRNApp<Acc extends Account>({ kvStore, AccountSchema, }?: {
|
@@ -42,5 +43,6 @@ export interface JazzReactApp<Acc extends Account> {
|
|
42
43
|
onAccept: (projectID: ID<V>) => void;
|
43
44
|
forValueHint?: string;
|
44
45
|
}): void;
|
46
|
+
kvStore: KvStore;
|
45
47
|
}
|
46
48
|
export * from "./media.js";
|
package/dist/provider.js
CHANGED
@@ -36,7 +36,11 @@ export function createJazzRNApp({ kvStore = new ExpoSecureStoreAdapter(), Accoun
|
|
36
36
|
return context.done;
|
37
37
|
});
|
38
38
|
return () => {
|
39
|
-
void promiseWithDoneCallback
|
39
|
+
void promiseWithDoneCallback
|
40
|
+
.then((done) => done())
|
41
|
+
.catch((e) => {
|
42
|
+
console.error("Error in createJazzRNContext", e);
|
43
|
+
});
|
40
44
|
};
|
41
45
|
}, [AccountSchema, auth, peer, storage, sessionCount]);
|
42
46
|
return (<JazzContext.Provider value={ctx}>{ctx && children}</JazzContext.Provider>);
|
@@ -126,6 +130,7 @@ export function createJazzRNApp({ kvStore = new ExpoSecureStoreAdapter(), Accoun
|
|
126
130
|
useAccountOrGuest,
|
127
131
|
useCoState,
|
128
132
|
useAcceptInvite,
|
133
|
+
kvStore,
|
129
134
|
};
|
130
135
|
}
|
131
136
|
export * from "./media.js";
|
package/dist/provider.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EACL,OAAO,EASP,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "jazz-react-native",
|
3
|
-
"version": "0.8.
|
3
|
+
"version": "0.8.36",
|
4
4
|
"type": "module",
|
5
5
|
"main": "./dist/index.js",
|
6
6
|
"module": "./dist/index.js",
|
@@ -16,9 +16,9 @@
|
|
16
16
|
"license": "MIT",
|
17
17
|
"dependencies": {
|
18
18
|
"@scure/bip39": "^1.3.0",
|
19
|
-
"cojson": "0.8.
|
20
|
-
"cojson-transport-ws": "0.8.
|
21
|
-
"jazz-tools": "0.8.
|
19
|
+
"cojson": "0.8.36",
|
20
|
+
"cojson-transport-ws": "0.8.36",
|
21
|
+
"jazz-tools": "0.8.36"
|
22
22
|
},
|
23
23
|
"peerDependencies": {
|
24
24
|
"@react-native-community/netinfo": "*",
|
package/src/index.ts
CHANGED
@@ -26,27 +26,27 @@ export { RNDemoAuth } from "./auth/DemoAuthMethod.js";
|
|
26
26
|
import { KvStoreContext } from "./storage/kv-store-context.js";
|
27
27
|
|
28
28
|
/** @category Context Creation */
|
29
|
-
export type
|
29
|
+
export type ReactNativeContext<Acc extends Account> = {
|
30
30
|
me: Acc;
|
31
31
|
logOut: () => void;
|
32
32
|
// TODO: Symbol.dispose?
|
33
33
|
done: () => void;
|
34
34
|
};
|
35
35
|
|
36
|
-
export type
|
36
|
+
export type ReactNativeGuestContext = {
|
37
37
|
guest: AnonymousJazzAgent;
|
38
38
|
logOut: () => void;
|
39
39
|
done: () => void;
|
40
40
|
};
|
41
41
|
|
42
|
-
export type
|
42
|
+
export type ReactNativeContextOptions<Acc extends Account> = {
|
43
43
|
auth: AuthMethod;
|
44
44
|
AccountSchema: CoValueClass<Acc> & {
|
45
45
|
fromNode: (typeof Account)["fromNode"];
|
46
46
|
};
|
47
|
-
} &
|
47
|
+
} & BaseReactNativeContextOptions;
|
48
48
|
|
49
|
-
export type
|
49
|
+
export type BaseReactNativeContextOptions = {
|
50
50
|
peer: `wss://${string}` | `ws://${string}`;
|
51
51
|
reconnectionTimeout?: number;
|
52
52
|
storage?: "indexedDB" | "singleTabOPFS";
|
@@ -55,17 +55,17 @@ export type BaseBrowserContextOptions = {
|
|
55
55
|
|
56
56
|
/** @category Context Creation */
|
57
57
|
export async function createJazzRNContext<Acc extends Account>(
|
58
|
-
options:
|
59
|
-
): Promise<
|
58
|
+
options: ReactNativeContextOptions<Acc>,
|
59
|
+
): Promise<ReactNativeContext<Acc>>;
|
60
60
|
export async function createJazzRNContext(
|
61
|
-
options:
|
62
|
-
): Promise<
|
61
|
+
options: BaseReactNativeContextOptions,
|
62
|
+
): Promise<ReactNativeGuestContext>;
|
63
63
|
export async function createJazzRNContext<Acc extends Account>(
|
64
|
-
options:
|
65
|
-
): Promise<
|
64
|
+
options: ReactNativeContextOptions<Acc> | BaseReactNativeContextOptions,
|
65
|
+
): Promise<ReactNativeContext<Acc> | ReactNativeGuestContext>;
|
66
66
|
export async function createJazzRNContext<Acc extends Account>(
|
67
|
-
options:
|
68
|
-
): Promise<
|
67
|
+
options: ReactNativeContextOptions<Acc> | BaseReactNativeContextOptions,
|
68
|
+
): Promise<ReactNativeContext<Acc> | ReactNativeGuestContext> {
|
69
69
|
const firstWsPeer = createWebSocketPeer({
|
70
70
|
websocket: new WebSocket(options.peer),
|
71
71
|
id: options.peer + "@" + new Date().toISOString(),
|
@@ -192,15 +192,6 @@ export async function provideLockSession(
|
|
192
192
|
});
|
193
193
|
}
|
194
194
|
|
195
|
-
const window = {
|
196
|
-
location: {
|
197
|
-
href: "#",
|
198
|
-
},
|
199
|
-
history: {
|
200
|
-
replaceState: (a: any, b: any, c: any) => {},
|
201
|
-
},
|
202
|
-
};
|
203
|
-
|
204
195
|
/** @category Invite Links */
|
205
196
|
export function createInviteLink<C extends CoValue>(
|
206
197
|
value: C,
|
package/src/provider.tsx
CHANGED
@@ -14,9 +14,10 @@ import {
|
|
14
14
|
} from "jazz-tools";
|
15
15
|
import { Linking } from "react-native";
|
16
16
|
import {
|
17
|
-
|
18
|
-
BrowserGuestContext,
|
17
|
+
KvStore,
|
19
18
|
KvStoreContext,
|
19
|
+
ReactNativeContext,
|
20
|
+
ReactNativeGuestContext,
|
20
21
|
createJazzRNContext,
|
21
22
|
parseInviteLink,
|
22
23
|
} from "./index.js";
|
@@ -28,7 +29,7 @@ export function createJazzRNApp<Acc extends Account>({
|
|
28
29
|
AccountSchema = Account as unknown as AccountClass<Acc>,
|
29
30
|
} = {}): JazzReactApp<Acc> {
|
30
31
|
const JazzContext = React.createContext<
|
31
|
-
|
32
|
+
ReactNativeContext<Acc> | ReactNativeGuestContext | undefined
|
32
33
|
>(undefined);
|
33
34
|
|
34
35
|
if (!kvStore) {
|
@@ -49,7 +50,7 @@ export function createJazzRNApp<Acc extends Account>({
|
|
49
50
|
storage?: "indexedDB" | "singleTabOPFS";
|
50
51
|
}) {
|
51
52
|
const [ctx, setCtx] = useState<
|
52
|
-
|
53
|
+
ReactNativeContext<Acc> | ReactNativeGuestContext | undefined
|
53
54
|
>();
|
54
55
|
|
55
56
|
const [sessionCount, setSessionCount] = useState(0);
|
@@ -80,7 +81,11 @@ export function createJazzRNApp<Acc extends Account>({
|
|
80
81
|
});
|
81
82
|
|
82
83
|
return () => {
|
83
|
-
void promiseWithDoneCallback
|
84
|
+
void promiseWithDoneCallback
|
85
|
+
.then((done) => done())
|
86
|
+
.catch((e) => {
|
87
|
+
console.error("Error in createJazzRNContext", e);
|
88
|
+
});
|
84
89
|
};
|
85
90
|
}, [AccountSchema, auth, peer, storage, sessionCount]);
|
86
91
|
|
@@ -240,6 +245,7 @@ export function createJazzRNApp<Acc extends Account>({
|
|
240
245
|
useAccountOrGuest,
|
241
246
|
useCoState,
|
242
247
|
useAcceptInvite,
|
248
|
+
kvStore,
|
243
249
|
};
|
244
250
|
}
|
245
251
|
|
@@ -293,6 +299,8 @@ export interface JazzReactApp<Acc extends Account> {
|
|
293
299
|
onAccept: (projectID: ID<V>) => void;
|
294
300
|
forValueHint?: string;
|
295
301
|
}): void;
|
302
|
+
|
303
|
+
kvStore: KvStore;
|
296
304
|
}
|
297
305
|
|
298
306
|
export * from "./media.js";
|