jazz-react-native 0.10.14 → 0.11.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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +33 -0
- package/dist/ReactNativeContextManager.d.ts +30 -0
- package/dist/ReactNativeContextManager.d.ts.map +1 -0
- package/dist/ReactNativeContextManager.js +3 -8
- package/dist/ReactNativeContextManager.js.map +1 -1
- package/dist/auth/DemoAuthUI.d.ts +8 -0
- package/dist/auth/DemoAuthUI.d.ts.map +1 -0
- package/dist/auth/auth.d.ts +3 -0
- package/dist/auth/auth.d.ts.map +1 -0
- package/dist/crypto/RNQuickCrypto.d.ts +14 -0
- package/dist/crypto/RNQuickCrypto.d.ts.map +1 -0
- package/dist/crypto/index.d.ts +2 -0
- package/dist/crypto/index.d.ts.map +1 -0
- package/dist/hooks.d.ts +14 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +2 -3
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/media.d.ts +22 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/platform.d.ts +46 -0
- package/dist/platform.d.ts.map +1 -0
- package/dist/provider.d.ts +15 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/storage/expo-secure-store-adapter.d.ts +8 -0
- package/dist/storage/expo-secure-store-adapter.d.ts.map +1 -0
- package/dist/storage/kv-store-context.d.ts +17 -0
- package/dist/storage/kv-store-context.d.ts.map +1 -0
- package/dist/testing.d.ts +2 -0
- package/dist/testing.d.ts.map +1 -0
- package/package.json +9 -9
- package/src/ReactNativeContextManager.ts +3 -11
- package/src/hooks.tsx +8 -3
- package/tsconfig.json +3 -1
package/.turbo/turbo-build.log
CHANGED
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,38 @@
|
|
1
1
|
# jazz-browser
|
2
2
|
|
3
|
+
## 0.11.0
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- a4713df: Moving to the d.ts files for the exported type definitions
|
8
|
+
- Updated dependencies [6a96d8b]
|
9
|
+
- Updated dependencies [a35249a]
|
10
|
+
- Updated dependencies [b9d194a]
|
11
|
+
- Updated dependencies [b9d194a]
|
12
|
+
- Updated dependencies [a4713df]
|
13
|
+
- Updated dependencies [e22de9f]
|
14
|
+
- Updated dependencies [34cbdc3]
|
15
|
+
- Updated dependencies [0f67e0a]
|
16
|
+
- Updated dependencies [f039e8f]
|
17
|
+
- Updated dependencies [e22de9f]
|
18
|
+
- jazz-tools@0.11.0
|
19
|
+
- cojson@0.11.0
|
20
|
+
- cojson-storage-rn-sqlite@0.8.68
|
21
|
+
- cojson-transport-ws@0.11.0
|
22
|
+
- jazz-react-core@0.10.13
|
23
|
+
|
24
|
+
## 0.10.15
|
25
|
+
|
26
|
+
### Patch Changes
|
27
|
+
|
28
|
+
- Updated dependencies [2f99de0]
|
29
|
+
- Updated dependencies [f86e278]
|
30
|
+
- jazz-tools@0.10.15
|
31
|
+
- cojson@0.10.15
|
32
|
+
- jazz-react-core@0.10.12
|
33
|
+
- cojson-storage-rn-sqlite@0.8.67
|
34
|
+
- cojson-transport-ws@0.10.15
|
35
|
+
|
3
36
|
## 0.10.14
|
4
37
|
|
5
38
|
### Patch Changes
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { Account, AccountClass, JazzContextManager, KvStore, SyncConfig } from "jazz-tools";
|
2
|
+
import { JazzContextManagerAuthProps } from "jazz-tools";
|
3
|
+
import { BaseReactNativeContextOptions } from "./platform.js";
|
4
|
+
export type JazzContextManagerProps<Acc extends Account> = {
|
5
|
+
guestMode?: boolean;
|
6
|
+
sync: SyncConfig;
|
7
|
+
onLogOut?: () => void;
|
8
|
+
storage?: BaseReactNativeContextOptions["storage"];
|
9
|
+
AccountSchema?: AccountClass<Acc>;
|
10
|
+
defaultProfileName?: string;
|
11
|
+
onAnonymousAccountDiscarded?: (anonymousAccount: Acc) => Promise<void>;
|
12
|
+
CryptoProvider?: BaseReactNativeContextOptions["CryptoProvider"];
|
13
|
+
};
|
14
|
+
export declare class ReactNativeContextManager<Acc extends Account> extends JazzContextManager<Acc, JazzContextManagerProps<Acc>> {
|
15
|
+
getNewContext(props: JazzContextManagerProps<Acc>, authProps?: JazzContextManagerAuthProps): Promise<{
|
16
|
+
guest: import("jazz-tools").AnonymousJazzAgent;
|
17
|
+
node: import("cojson").LocalNode;
|
18
|
+
done: () => void;
|
19
|
+
logOut: () => Promise<void>;
|
20
|
+
} | {
|
21
|
+
me: Acc;
|
22
|
+
node: import("cojson").LocalNode;
|
23
|
+
authSecretStorage: import("jazz-tools").AuthSecretStorage;
|
24
|
+
done: () => void;
|
25
|
+
logOut: () => Promise<void>;
|
26
|
+
}>;
|
27
|
+
getKvStore(): KvStore;
|
28
|
+
propsChanged(props: JazzContextManagerProps<Acc>): boolean;
|
29
|
+
}
|
30
|
+
//# sourceMappingURL=ReactNativeContextManager.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ReactNativeContextManager.d.ts","sourceRoot":"","sources":["../src/ReactNativeContextManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,YAAY,EACZ,kBAAkB,EAClB,OAAO,EACP,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EACL,6BAA6B,EAG9B,MAAM,eAAe,CAAC;AAGvB,MAAM,MAAM,uBAAuB,CAAC,GAAG,SAAS,OAAO,IAAI;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,6BAA6B,CAAC,SAAS,CAAC,CAAC;IACnD,aAAa,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,cAAc,CAAC,EAAE,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;CAClE,CAAC;AAEF,qBAAa,yBAAyB,CACpC,GAAG,SAAS,OAAO,CACnB,SAAQ,kBAAkB,CAAC,GAAG,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACvD,aAAa,CACjB,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC,EACnC,SAAS,CAAC,EAAE,2BAA2B;;;;;;;;;;;;IAuBzC,UAAU,IAAI,OAAO;IAIrB,YAAY,CAAC,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC;CAWjD"}
|
@@ -2,13 +2,9 @@ import { JazzContextManager, } from "jazz-tools";
|
|
2
2
|
import { createJazzReactNativeContext, createJazzReactNativeGuestContext, } from "./platform.js";
|
3
3
|
import { KvStoreContext } from "./storage/kv-store-context.js";
|
4
4
|
export class ReactNativeContextManager extends JazzContextManager {
|
5
|
-
async
|
6
|
-
let currentContext;
|
7
|
-
// We need to store the props here to block the double effect execution
|
8
|
-
// on React. Otherwise when calling propsChanged this.props is undefined.
|
9
|
-
this.props = props;
|
5
|
+
async getNewContext(props, authProps) {
|
10
6
|
if (props.guestMode) {
|
11
|
-
|
7
|
+
return createJazzReactNativeGuestContext({
|
12
8
|
sync: props.sync,
|
13
9
|
storage: props.storage,
|
14
10
|
authSecretStorage: this.authSecretStorage,
|
@@ -16,7 +12,7 @@ export class ReactNativeContextManager extends JazzContextManager {
|
|
16
12
|
});
|
17
13
|
}
|
18
14
|
else {
|
19
|
-
|
15
|
+
return createJazzReactNativeContext({
|
20
16
|
sync: props.sync,
|
21
17
|
storage: props.storage,
|
22
18
|
AccountSchema: props.AccountSchema,
|
@@ -27,7 +23,6 @@ export class ReactNativeContextManager extends JazzContextManager {
|
|
27
23
|
CryptoProvider: props.CryptoProvider,
|
28
24
|
});
|
29
25
|
}
|
30
|
-
await this.updateContext(props, currentContext, authProps);
|
31
26
|
}
|
32
27
|
getKvStore() {
|
33
28
|
return KvStoreContext.getInstance().getStorage();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ReactNativeContextManager.js","sourceRoot":"","sources":["../src/ReactNativeContextManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,GAGnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAEL,4BAA4B,EAC5B,iCAAiC,GAClC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAa/D,MAAM,OAAO,yBAEX,SAAQ,kBAAqD;IAC7D,KAAK,CAAC,aAAa,CACjB,KAAmC,EACnC,SAAuC;QAEvC,IAAI,
|
1
|
+
{"version":3,"file":"ReactNativeContextManager.js","sourceRoot":"","sources":["../src/ReactNativeContextManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,GAGnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAEL,4BAA4B,EAC5B,iCAAiC,GAClC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAa/D,MAAM,OAAO,yBAEX,SAAQ,kBAAqD;IAC7D,KAAK,CAAC,aAAa,CACjB,KAAmC,EACnC,SAAuC;QAEvC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,iCAAiC,CAAC;gBACvC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,4BAA4B,CAAM;gBACvC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,WAAW,EAAE,SAAS,EAAE,WAAW;gBACnC,eAAe,EAAE,SAAS,EAAE,eAAe;gBAC3C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,UAAU;QACR,OAAO,cAAc,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC;IACnD,CAAC;IAED,YAAY,CAAC,KAAmC;QAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI;YACxC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI;YACxC,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CACzC,CAAC;IACJ,CAAC;CACF"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { useDemoAuth } from "jazz-react-core";
|
2
|
+
import React from "react";
|
3
|
+
export declare const DemoAuthBasicUI: ({ appName, auth, children, }: {
|
4
|
+
appName: string;
|
5
|
+
auth: ReturnType<typeof useDemoAuth>;
|
6
|
+
children: React.ReactNode;
|
7
|
+
}) => string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
8
|
+
//# sourceMappingURL=DemoAuthUI.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"DemoAuthUI.d.ts","sourceRoot":"","sources":["../../src/auth/DemoAuthUI.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAmB,MAAM,OAAO,CAAC;AAUxC,eAAO,MAAM,eAAe,iCAIzB;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,iGAyFA,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth/auth.ts"],"names":[],"mappings":"AAEA,cAAc,iBAAiB,CAAC;AAEhC,wBAAgB,oBAAoB,gCASnC"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { JsonValue } from "cojson";
|
2
|
+
import { CojsonInternalTypes } from "cojson";
|
3
|
+
import { PureJSCrypto } from "cojson/dist/crypto/PureJSCrypto";
|
4
|
+
import { Ed } from "react-native-quick-crypto";
|
5
|
+
export declare class RNQuickCrypto extends PureJSCrypto {
|
6
|
+
ed: Ed;
|
7
|
+
constructor();
|
8
|
+
static create(): Promise<RNQuickCrypto>;
|
9
|
+
newEd25519SigningKey(): Uint8Array;
|
10
|
+
getSignerID(secret: CojsonInternalTypes.SignerSecret): CojsonInternalTypes.SignerID;
|
11
|
+
sign(secret: CojsonInternalTypes.SignerSecret, message: JsonValue): CojsonInternalTypes.Signature;
|
12
|
+
verify(signature: CojsonInternalTypes.Signature, message: JsonValue, id: CojsonInternalTypes.SignerID): boolean;
|
13
|
+
}
|
14
|
+
//# sourceMappingURL=RNQuickCrypto.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"RNQuickCrypto.d.ts","sourceRoot":"","sources":["../../src/crypto/RNQuickCrypto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAmB,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AAK/C,qBAAa,aAAc,SAAQ,YAAY;IAC7C,EAAE,EAAE,EAAE,CAAC;;WAOM,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;IAI7C,oBAAoB,IAAI,UAAU;IAKlC,WAAW,CACT,MAAM,EAAE,mBAAmB,CAAC,YAAY,GACvC,mBAAmB,CAAC,QAAQ;IAM/B,IAAI,CACF,MAAM,EAAE,mBAAmB,CAAC,YAAY,EACxC,OAAO,EAAE,SAAS,GACjB,mBAAmB,CAAC,SAAS;IAUhC,MAAM,CACJ,SAAS,EAAE,mBAAmB,CAAC,SAAS,EACxC,OAAO,EAAE,SAAS,EAClB,EAAE,EAAE,mBAAmB,CAAC,QAAQ,GAC/B,OAAO;CAOX"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/hooks.d.ts
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
import { CoValue, CoValueClass, ID } from "jazz-tools";
|
2
|
+
import { RegisteredAccount } from "./provider.js";
|
3
|
+
export { useCoState, experimental_useInboxSender, useDemoAuth, usePassphraseAuth, useJazzContext, useAuthSecretStorage, useIsAuthenticated, useAccount, useAccountOrGuest, } from "jazz-react-core";
|
4
|
+
declare module "jazz-react-core" {
|
5
|
+
interface Register {
|
6
|
+
Account: RegisteredAccount;
|
7
|
+
}
|
8
|
+
}
|
9
|
+
export declare function useAcceptInvite<V extends CoValue>({ invitedObjectSchema, onAccept, forValueHint, }: {
|
10
|
+
invitedObjectSchema: CoValueClass<V>;
|
11
|
+
onAccept: (projectID: ID<V>) => void;
|
12
|
+
forValueHint?: string;
|
13
|
+
}): void;
|
14
|
+
//# sourceMappingURL=hooks.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAmB,MAAM,YAAY,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EACL,UAAU,EACV,2BAA2B,EAC3B,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAiB,QAAQ;QACvB,OAAO,EAAE,iBAAiB,CAAC;KAC5B;CACF;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,EACjD,mBAAmB,EACnB,QAAQ,EACR,YAAY,GACb,EAAE;IACD,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACrC,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,IAAI,CAsCP"}
|
package/dist/hooks.js
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
import { useEffect } from "react";
|
2
|
-
import {
|
2
|
+
import { useJazzContext } from "jazz-react-core";
|
3
3
|
import { parseInviteLink } from "jazz-tools";
|
4
4
|
import { Linking } from "react-native";
|
5
|
-
export { useCoState, experimental_useInboxSender, useDemoAuth, usePassphraseAuth, useJazzContext, useAuthSecretStorage, useIsAuthenticated, } from "jazz-react-core";
|
6
|
-
export const { useAccount, useAccountOrGuest } = createUseAccountHooks();
|
5
|
+
export { useCoState, experimental_useInboxSender, useDemoAuth, usePassphraseAuth, useJazzContext, useAuthSecretStorage, useIsAuthenticated, useAccount, useAccountOrGuest, } from "jazz-react-core";
|
7
6
|
export function useAcceptInvite({ invitedObjectSchema, onAccept, forValueHint, }) {
|
8
7
|
const context = useJazzContext();
|
9
8
|
if (!("me" in context)) {
|
package/dist/hooks.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAA6B,eAAe,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EACL,UAAU,EACV,2BAA2B,EAC3B,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAQzB,MAAM,UAAU,eAAe,CAAoB,EACjD,mBAAmB,EACnB,QAAQ,EACR,YAAY,GAKb;IACC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,cAAc,GAAG,CAAC,EAAE,GAAG,EAAmB,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,eAAe,CAAI,GAAG,CAAC,CAAC;YACvC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;gBAChD,OAAO,CAAC,EAAE;qBACP,YAAY,CACX,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,YAAY,EACnB,mBAAmB,CACpB;qBACA,IAAI,CAAC,GAAG,EAAE;oBACT,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACX,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;YACP,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAExE,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,IAAI,GAAG;gBAAE,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,eAAe,CAAC,MAAM,EAAE,CAAC;QAC3B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC;AAC7D,CAAC"}
|
package/dist/index.d.ts
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
export * from "./provider.js";
|
2
|
+
export * from "./auth/auth.js";
|
3
|
+
export * from "./storage/kv-store-context.js";
|
4
|
+
export * from "./hooks.js";
|
5
|
+
export * from "./media.js";
|
6
|
+
export { parseInviteLink } from "jazz-tools";
|
7
|
+
export { createInviteLink, setupKvStore } from "./platform.js";
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/media.d.ts
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
import { ImageDefinition } from "jazz-tools";
|
2
|
+
import React from "react";
|
3
|
+
/** @category Media */
|
4
|
+
export declare function useProgressiveImg({ image, maxWidth, }: {
|
5
|
+
image: ImageDefinition | null | undefined;
|
6
|
+
maxWidth?: number;
|
7
|
+
}): {
|
8
|
+
src: string | undefined;
|
9
|
+
res: "placeholder" | `${number}x${number}` | undefined;
|
10
|
+
originalSize: import("jazz-tools").co<[number, number]> | undefined;
|
11
|
+
};
|
12
|
+
/** @category Media */
|
13
|
+
export declare function ProgressiveImg({ children, image, maxWidth, }: {
|
14
|
+
children: (result: {
|
15
|
+
src: string | undefined;
|
16
|
+
res: `${number}x${number}` | "placeholder" | undefined;
|
17
|
+
originalSize: readonly [number, number] | undefined;
|
18
|
+
}) => React.ReactNode;
|
19
|
+
image: ImageDefinition | null | undefined;
|
20
|
+
maxWidth?: number;
|
21
|
+
}): React.ReactNode;
|
22
|
+
//# sourceMappingURL=media.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,sBAAsB;AACtB,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;;;;EA2DA;AAED,sBAAsB;AACtB,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE;QACjB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;QACxB,GAAG,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,aAAa,GAAG,SAAS,CAAC;QACvD,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;KACrD,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,mBAGA"}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import { LocalNode, RawAccountID } from "cojson";
|
2
|
+
import { PureJSCrypto } from "cojson/dist/crypto/PureJSCrypto";
|
3
|
+
import { Account, AgentID, AuthCredentials, AuthSecretStorage, CoValue, CoValueClass, CryptoProvider, ID, NewAccountProps, SessionID, SyncConfig } from "jazz-tools";
|
4
|
+
import type { RNQuickCrypto } from "./crypto/RNQuickCrypto.js";
|
5
|
+
import { ExpoSecureStoreAdapter } from "./storage/expo-secure-store-adapter.js";
|
6
|
+
export type BaseReactNativeContextOptions = {
|
7
|
+
sync: SyncConfig;
|
8
|
+
reconnectionTimeout?: number;
|
9
|
+
storage?: "sqlite" | "disabled";
|
10
|
+
CryptoProvider?: typeof PureJSCrypto | typeof RNQuickCrypto;
|
11
|
+
authSecretStorage: AuthSecretStorage;
|
12
|
+
};
|
13
|
+
export declare function createJazzReactNativeGuestContext(options: BaseReactNativeContextOptions): Promise<{
|
14
|
+
guest: import("jazz-tools").AnonymousJazzAgent;
|
15
|
+
node: LocalNode;
|
16
|
+
done: () => void;
|
17
|
+
logOut: () => Promise<void>;
|
18
|
+
}>;
|
19
|
+
export type ReactNativeContextOptions<Acc extends Account> = {
|
20
|
+
credentials?: AuthCredentials;
|
21
|
+
AccountSchema?: CoValueClass<Acc> & {
|
22
|
+
fromNode: (typeof Account)["fromNode"];
|
23
|
+
};
|
24
|
+
newAccountProps?: NewAccountProps;
|
25
|
+
defaultProfileName?: string;
|
26
|
+
} & BaseReactNativeContextOptions;
|
27
|
+
export declare function createJazzReactNativeContext<Acc extends Account>(options: ReactNativeContextOptions<Acc>): Promise<{
|
28
|
+
me: Acc;
|
29
|
+
node: LocalNode;
|
30
|
+
authSecretStorage: AuthSecretStorage;
|
31
|
+
done: () => void;
|
32
|
+
logOut: () => Promise<void>;
|
33
|
+
}>;
|
34
|
+
/** @category Auth Providers */
|
35
|
+
export type SessionProvider = (accountID: ID<Account> | AgentID) => Promise<SessionID>;
|
36
|
+
export declare function provideLockSession(accountID: ID<Account> | AgentID, crypto: CryptoProvider): Promise<{
|
37
|
+
sessionID: `sealer_z${string}/signer_z${string}_session_z${string}` | `${RawAccountID}_session_z${string}`;
|
38
|
+
sessionDone: () => void;
|
39
|
+
}>;
|
40
|
+
/** @category Invite Links */
|
41
|
+
export declare function createInviteLink<C extends CoValue>(value: C, role: "reader" | "writer" | "admin", { baseURL, valueHint }?: {
|
42
|
+
baseURL?: string;
|
43
|
+
valueHint?: string;
|
44
|
+
}): string;
|
45
|
+
export declare function setupKvStore(kvStore?: ExpoSecureStoreAdapter): ExpoSecureStoreAdapter;
|
46
|
+
//# sourceMappingURL=platform.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAQ,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EACL,OAAO,EACP,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,OAAO,EACP,YAAY,EACZ,cAAc,EACd,EAAE,EACF,eAAe,EACf,SAAS,EACT,UAAU,EAIX,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAGhF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,UAAU,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,YAAY,GAAG,OAAO,aAAa,CAAC;IAC5D,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,CAAC;AAyEF,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,6BAA6B;;;;;GA0BvC;AAED,MAAM,MAAM,yBAAyB,CAAC,GAAG,SAAS,OAAO,IAAI;IAC3D,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,aAAa,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG;QAClC,QAAQ,EAAE,CAAC,OAAO,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;KACxC,CAAC;IACF,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG,6BAA6B,CAAC;AAElC,wBAAsB,4BAA4B,CAAC,GAAG,SAAS,OAAO,EACpE,OAAO,EAAE,yBAAyB,CAAC,GAAG,CAAC;;;;;;GAsDxC;AAED,+BAA+B;AAC/B,MAAM,MAAM,eAAe,GAAG,CAC5B,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,OAAO,KAC7B,OAAO,CAAC,SAAS,CAAC,CAAC;AAExB,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,OAAO,EAChC,MAAM,EAAE,cAAc;;;GAevB;AAED,6BAA6B;AAC7B,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAChD,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,EACnC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACpE,MAAM,CAER;AAED,wBAAgB,YAAY,CAAC,OAAO,yBAA+B,0BAIlE"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { Account, KvStore } from "jazz-tools";
|
2
|
+
import React from "react";
|
3
|
+
import { JazzContextManagerProps } from "./ReactNativeContextManager.js";
|
4
|
+
export interface Register {
|
5
|
+
}
|
6
|
+
export type RegisteredAccount = Register extends {
|
7
|
+
Account: infer Acc;
|
8
|
+
} ? Acc : Account;
|
9
|
+
export type JazzProviderProps<Acc extends Account = RegisteredAccount> = {
|
10
|
+
children: React.ReactNode;
|
11
|
+
kvStore?: KvStore;
|
12
|
+
} & JazzContextManagerProps<Acc>;
|
13
|
+
/** @category Context & Hooks */
|
14
|
+
export declare function JazzProvider<Acc extends Account = RegisteredAccount>({ children, guestMode, sync, storage, AccountSchema, defaultProfileName, onLogOut, kvStore, onAnonymousAccountDiscarded, CryptoProvider, }: JazzProviderProps<Acc>): React.JSX.Element;
|
15
|
+
//# sourceMappingURL=provider.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAmB,OAAO,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAIzE,MAAM,WAAW,QAAQ;CAAG;AAE5B,MAAM,MAAM,iBAAiB,GAAG,QAAQ,SAAS;IAAE,OAAO,EAAE,MAAM,GAAG,CAAA;CAAE,GACnE,GAAG,GACH,OAAO,CAAC;AAEZ,MAAM,MAAM,iBAAiB,CAAC,GAAG,SAAS,OAAO,GAAG,iBAAiB,IAAI;IACvE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;AAEjC,gCAAgC;AAChC,wBAAgB,YAAY,CAAC,GAAG,SAAS,OAAO,GAAG,iBAAiB,EAAE,EACpE,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,OAAO,EACP,2BAA2B,EAC3B,cAAc,GACf,EAAE,iBAAiB,CAAC,GAAG,CAAC,qBAyDxB"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { KvStore } from "./kv-store-context.js";
|
2
|
+
export declare class ExpoSecureStoreAdapter implements KvStore {
|
3
|
+
get(key: string): Promise<string | null>;
|
4
|
+
set(key: string, value: string): Promise<void>;
|
5
|
+
delete(key: string): Promise<void>;
|
6
|
+
clearAll(): Promise<void>;
|
7
|
+
}
|
8
|
+
//# sourceMappingURL=expo-secure-store-adapter.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"expo-secure-store-adapter.d.ts","sourceRoot":"","sources":["../../src/storage/expo-secure-store-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAa,sBAAuB,YAAW,OAAO;IACpD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAOlC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
export interface KvStore {
|
2
|
+
get(key: string): Promise<string | null>;
|
3
|
+
set(key: string, value: string): Promise<void>;
|
4
|
+
delete(key: string): Promise<void>;
|
5
|
+
clearAll(): Promise<void>;
|
6
|
+
}
|
7
|
+
export declare class KvStoreContext {
|
8
|
+
private static instance;
|
9
|
+
private storageInstance;
|
10
|
+
private constructor();
|
11
|
+
static getInstance(): KvStoreContext;
|
12
|
+
isInitialized(): boolean;
|
13
|
+
initialize(store: KvStore): void;
|
14
|
+
getStorage(): KvStore;
|
15
|
+
}
|
16
|
+
export default KvStoreContext;
|
17
|
+
//# sourceMappingURL=kv-store-context.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"kv-store-context.d.ts","sourceRoot":"","sources":["../../src/storage/kv-store-context.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC,OAAO,CAAC,eAAe,CAAwB;IAE/C,OAAO;WAEO,WAAW,IAAI,cAAc;IAOpC,aAAa,IAAI,OAAO;IAIxB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAMhC,UAAU,IAAI,OAAO;CAM7B;AAED,eAAe,cAAc,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.tsx"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "jazz-react-native",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.11.0",
|
4
4
|
"type": "module",
|
5
5
|
"main": "./dist/index.js",
|
6
6
|
"module": "./dist/index.js",
|
@@ -9,17 +9,17 @@
|
|
9
9
|
"exports": {
|
10
10
|
".": {
|
11
11
|
"react-native": "./dist/index.js",
|
12
|
-
"types": "./
|
12
|
+
"types": "./dist/index.d.ts",
|
13
13
|
"default": "./dist/index.js"
|
14
14
|
},
|
15
15
|
"./crypto": {
|
16
16
|
"react-native": "./dist/crypto/index.js",
|
17
|
-
"types": "./
|
17
|
+
"types": "./dist/crypto/index.d.ts",
|
18
18
|
"default": "./dist/crypto/index.js"
|
19
19
|
},
|
20
20
|
"./testing": {
|
21
21
|
"react-native": "./dist/testing.js",
|
22
|
-
"types": "./
|
22
|
+
"types": "./dist/testing.d.ts",
|
23
23
|
"default": "./dist/testing.js"
|
24
24
|
}
|
25
25
|
},
|
@@ -28,11 +28,11 @@
|
|
28
28
|
"@scure/base": "1.2.1",
|
29
29
|
"react-native-nitro-modules": "0.21.0",
|
30
30
|
"react-native-quick-crypto": "1.0.0-beta.12",
|
31
|
-
"cojson": "0.
|
32
|
-
"cojson-storage-rn-sqlite": "0.8.
|
33
|
-
"cojson-transport-ws": "0.
|
34
|
-
"jazz-react-core": "0.10.
|
35
|
-
"jazz-tools": "0.
|
31
|
+
"cojson": "0.11.0",
|
32
|
+
"cojson-storage-rn-sqlite": "0.8.68",
|
33
|
+
"cojson-transport-ws": "0.11.0",
|
34
|
+
"jazz-react-core": "0.10.13",
|
35
|
+
"jazz-tools": "0.11.0"
|
36
36
|
},
|
37
37
|
"peerDependencies": {
|
38
38
|
"@react-native-community/netinfo": "*",
|
@@ -27,25 +27,19 @@ export type JazzContextManagerProps<Acc extends Account> = {
|
|
27
27
|
export class ReactNativeContextManager<
|
28
28
|
Acc extends Account,
|
29
29
|
> extends JazzContextManager<Acc, JazzContextManagerProps<Acc>> {
|
30
|
-
async
|
30
|
+
async getNewContext(
|
31
31
|
props: JazzContextManagerProps<Acc>,
|
32
32
|
authProps?: JazzContextManagerAuthProps,
|
33
33
|
) {
|
34
|
-
let currentContext;
|
35
|
-
|
36
|
-
// We need to store the props here to block the double effect execution
|
37
|
-
// on React. Otherwise when calling propsChanged this.props is undefined.
|
38
|
-
this.props = props;
|
39
|
-
|
40
34
|
if (props.guestMode) {
|
41
|
-
|
35
|
+
return createJazzReactNativeGuestContext({
|
42
36
|
sync: props.sync,
|
43
37
|
storage: props.storage,
|
44
38
|
authSecretStorage: this.authSecretStorage,
|
45
39
|
CryptoProvider: props.CryptoProvider,
|
46
40
|
});
|
47
41
|
} else {
|
48
|
-
|
42
|
+
return createJazzReactNativeContext<Acc>({
|
49
43
|
sync: props.sync,
|
50
44
|
storage: props.storage,
|
51
45
|
AccountSchema: props.AccountSchema,
|
@@ -56,8 +50,6 @@ export class ReactNativeContextManager<
|
|
56
50
|
CryptoProvider: props.CryptoProvider,
|
57
51
|
});
|
58
52
|
}
|
59
|
-
|
60
|
-
await this.updateContext(props, currentContext, authProps);
|
61
53
|
}
|
62
54
|
|
63
55
|
getKvStore(): KvStore {
|
package/src/hooks.tsx
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { useEffect } from "react";
|
2
2
|
|
3
|
-
import {
|
3
|
+
import { useJazzContext } from "jazz-react-core";
|
4
4
|
import { CoValue, CoValueClass, ID, parseInviteLink } from "jazz-tools";
|
5
5
|
import { Linking } from "react-native";
|
6
6
|
import { RegisteredAccount } from "./provider.js";
|
@@ -13,10 +13,15 @@ export {
|
|
13
13
|
useJazzContext,
|
14
14
|
useAuthSecretStorage,
|
15
15
|
useIsAuthenticated,
|
16
|
+
useAccount,
|
17
|
+
useAccountOrGuest,
|
16
18
|
} from "jazz-react-core";
|
17
19
|
|
18
|
-
|
19
|
-
|
20
|
+
declare module "jazz-react-core" {
|
21
|
+
export interface Register {
|
22
|
+
Account: RegisteredAccount;
|
23
|
+
}
|
24
|
+
}
|
20
25
|
|
21
26
|
export function useAcceptInvite<V extends CoValue>({
|
22
27
|
invitedObjectSchema,
|
package/tsconfig.json
CHANGED