jazz-tools 0.19.22 → 0.20.1

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.
Files changed (219) hide show
  1. package/.svelte-kit/__package__/react.d.ts.map +1 -1
  2. package/.svelte-kit/__package__/react.tsx +5 -2
  3. package/.turbo/turbo-build.log +71 -83
  4. package/CHANGELOG.md +80 -0
  5. package/dist/better-auth/auth/react.d.ts.map +1 -1
  6. package/dist/better-auth/auth/react.js +5 -2
  7. package/dist/better-auth/auth/react.js.map +1 -1
  8. package/dist/browser/createBrowserContext.d.ts +1 -2
  9. package/dist/browser/createBrowserContext.d.ts.map +1 -1
  10. package/dist/browser/index.js +1 -8
  11. package/dist/browser/index.js.map +1 -1
  12. package/dist/browser/provideBrowserLockSession/SessionIDStorage.d.ts +1 -1
  13. package/dist/{chunk-QCTQH5RS.js → chunk-2OPP7KWV.js} +382 -174
  14. package/dist/chunk-2OPP7KWV.js.map +1 -0
  15. package/dist/{chunk-M2HGBOXS.js → chunk-K4D7IMFM.js} +3 -3
  16. package/dist/chunk-K4D7IMFM.js.map +1 -0
  17. package/dist/chunk-ZQWSQH6L.js +20 -0
  18. package/dist/expo/auth/clerk/index.d.ts.map +1 -1
  19. package/dist/expo/index.js +5 -2
  20. package/dist/expo/index.js.map +1 -1
  21. package/dist/index.js +5 -3
  22. package/dist/index.js.map +1 -1
  23. package/dist/inspector/{chunk-YQNK5Y7B.js → chunk-MCTB5ZJC.js} +1 -1
  24. package/dist/inspector/chunk-MCTB5ZJC.js.map +1 -0
  25. package/dist/inspector/contexts/node.d.ts.map +1 -1
  26. package/dist/inspector/{custom-element-KYV64IOC.js → custom-element-5YWVZBWA.js} +1 -1
  27. package/dist/inspector/{custom-element-KYV64IOC.js.map → custom-element-5YWVZBWA.js.map} +1 -1
  28. package/dist/inspector/index.js +3 -3
  29. package/dist/inspector/index.js.map +1 -1
  30. package/dist/inspector/register-custom-element.js +1 -1
  31. package/dist/inspector/standalone.js +1 -1
  32. package/dist/react/auth/Clerk.d.ts.map +1 -1
  33. package/dist/react/hooks.d.ts +1 -1
  34. package/dist/react/hooks.d.ts.map +1 -1
  35. package/dist/react/index.js +61 -47
  36. package/dist/react/index.js.map +1 -1
  37. package/dist/react/provider.d.ts.map +1 -1
  38. package/dist/react/ssr.js +2 -2
  39. package/dist/react/ssr.js.map +1 -1
  40. package/dist/react-core/chunk-UOYH6JFJ.js +10 -0
  41. package/dist/react-core/chunk-UOYH6JFJ.js.map +1 -0
  42. package/dist/react-core/hooks.d.ts +3 -3
  43. package/dist/react-core/hooks.d.ts.map +1 -1
  44. package/dist/react-core/index.js +27 -25
  45. package/dist/react-core/index.js.map +1 -1
  46. package/dist/react-core/provider.d.ts +2 -3
  47. package/dist/react-core/provider.d.ts.map +1 -1
  48. package/dist/react-core/testing.d.ts.map +1 -1
  49. package/dist/react-core/testing.js +4 -10
  50. package/dist/react-core/testing.js.map +1 -1
  51. package/dist/react-native/index.js +61 -53
  52. package/dist/react-native/index.js.map +1 -1
  53. package/dist/react-native-core/ReactNativeContextManager.d.ts +0 -1
  54. package/dist/react-native-core/ReactNativeContextManager.d.ts.map +1 -1
  55. package/dist/react-native-core/hooks.d.ts +1 -1
  56. package/dist/react-native-core/hooks.d.ts.map +1 -1
  57. package/dist/react-native-core/index.js +58 -50
  58. package/dist/react-native-core/index.js.map +1 -1
  59. package/dist/react-native-core/platform.d.ts +0 -4
  60. package/dist/react-native-core/platform.d.ts.map +1 -1
  61. package/dist/react-native-core/provider.d.ts +2 -1
  62. package/dist/react-native-core/provider.d.ts.map +1 -1
  63. package/dist/svelte/jazz.class.svelte.d.ts.map +1 -1
  64. package/dist/svelte/jazz.class.svelte.js +2 -8
  65. package/dist/svelte/tests/AccountCoState.svelte.test.d.ts +2 -0
  66. package/dist/svelte/tests/AccountCoState.svelte.test.d.ts.map +1 -0
  67. package/dist/svelte/tests/AccountCoState.svelte.test.js +59 -0
  68. package/dist/svelte/tests/CoState.svelte.test.js +23 -0
  69. package/dist/svelte/tests/TestAccountCoStateWrapper.svelte +24 -0
  70. package/dist/svelte/tests/TestAccountCoStateWrapper.svelte.d.ts +11 -0
  71. package/dist/svelte/tests/TestAccountCoStateWrapper.svelte.d.ts.map +1 -0
  72. package/dist/testing.js +7 -7
  73. package/dist/testing.js.map +1 -1
  74. package/dist/tools/coValues/coList.d.ts +2 -2
  75. package/dist/tools/coValues/coList.d.ts.map +1 -1
  76. package/dist/tools/coValues/coMap.d.ts +2 -2
  77. package/dist/tools/coValues/deepLoading.d.ts +2 -2
  78. package/dist/tools/coValues/deepLoading.d.ts.map +1 -1
  79. package/dist/tools/coValues/interfaces.d.ts +32 -0
  80. package/dist/tools/coValues/interfaces.d.ts.map +1 -1
  81. package/dist/tools/exports.d.ts +1 -1
  82. package/dist/tools/exports.d.ts.map +1 -1
  83. package/dist/tools/implementation/ContextManager.d.ts.map +1 -1
  84. package/dist/tools/implementation/createContext.d.ts.map +1 -1
  85. package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts +3 -2
  86. package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts.map +1 -1
  87. package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts +3 -2
  88. package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts.map +1 -1
  89. package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts +5 -4
  90. package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts.map +1 -1
  91. package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts +5 -3
  92. package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts.map +1 -1
  93. package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts +7 -3
  94. package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts.map +1 -1
  95. package/dist/tools/implementation/zodSchema/schemaTypes/CoVectorSchema.d.ts +3 -1
  96. package/dist/tools/implementation/zodSchema/schemaTypes/CoVectorSchema.d.ts.map +1 -1
  97. package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts +3 -1
  98. package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts.map +1 -1
  99. package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts +2 -1
  100. package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts.map +1 -1
  101. package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts +6 -1
  102. package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts.map +1 -1
  103. package/dist/tools/implementation/zodSchema/zodCo.d.ts.map +1 -1
  104. package/dist/tools/ssr.js +2 -2
  105. package/dist/tools/subscribe/JazzError.d.ts +3 -3
  106. package/dist/tools/subscribe/JazzError.d.ts.map +1 -1
  107. package/dist/tools/subscribe/SubscriptionScope.d.ts.map +1 -1
  108. package/dist/tools/subscribe/types.d.ts +5 -1
  109. package/dist/tools/subscribe/types.d.ts.map +1 -1
  110. package/dist/tools/testing.d.ts +3 -3
  111. package/dist/tools/testing.d.ts.map +1 -1
  112. package/dist/tools/tests/deleteCoValues.test.d.ts +2 -0
  113. package/dist/tools/tests/deleteCoValues.test.d.ts.map +1 -0
  114. package/dist/tools/tests/deletedState.test.d.ts +2 -0
  115. package/dist/tools/tests/deletedState.test.d.ts.map +1 -0
  116. package/dist/worker/edge-wasm.js +2 -1
  117. package/dist/worker/edge-wasm.js.map +1 -1
  118. package/dist/worker/wasm.d.ts +2 -0
  119. package/dist/worker/wasm.d.ts.map +1 -0
  120. package/package.json +9 -28
  121. package/src/better-auth/auth/react.tsx +5 -2
  122. package/src/browser/createBrowserContext.ts +2 -5
  123. package/src/expo/auth/clerk/index.tsx +5 -2
  124. package/src/inspector/contexts/node.tsx +1 -2
  125. package/src/inspector/index.tsx +2 -2
  126. package/src/react/auth/Clerk.tsx +5 -2
  127. package/src/react/auth/PasskeyAuth.tsx +2 -2
  128. package/src/react/hooks.tsx +3 -2
  129. package/src/react/provider.tsx +45 -41
  130. package/src/react-core/auth/DemoAuth.tsx +2 -2
  131. package/src/react-core/auth/PassphraseAuth.tsx +2 -2
  132. package/src/react-core/hooks.ts +26 -27
  133. package/src/react-core/provider.tsx +1 -5
  134. package/src/react-core/testing.tsx +3 -11
  135. package/src/react-core/tests/useAccount.selector.test.ts +2 -3
  136. package/src/react-core/tests/useAccount.test.ts +57 -7
  137. package/src/react-core/tests/useCoState.test.ts +37 -0
  138. package/src/react-core/tests/useInboxSender.test.ts +2 -5
  139. package/src/react-core/tests/useSuspenseAccount.test.tsx +68 -0
  140. package/src/react-core/tests/useSuspenseCoState.test.tsx +44 -0
  141. package/src/react-native-core/ReactNativeContextManager.ts +0 -3
  142. package/src/react-native-core/auth/usePasskeyAuth.tsx +2 -2
  143. package/src/react-native-core/hooks.tsx +3 -3
  144. package/src/react-native-core/platform.ts +2 -6
  145. package/src/react-native-core/provider.tsx +47 -43
  146. package/src/svelte/jazz.class.svelte.ts +2 -8
  147. package/src/svelte/tests/AccountCoState.svelte.test.ts +79 -0
  148. package/src/svelte/tests/CoState.svelte.test.ts +36 -0
  149. package/src/svelte/tests/TestAccountCoStateWrapper.svelte +24 -0
  150. package/src/tools/coValues/coList.ts +73 -37
  151. package/src/tools/coValues/deepLoading.ts +2 -0
  152. package/src/tools/coValues/interfaces.ts +170 -32
  153. package/src/tools/exports.ts +1 -0
  154. package/src/tools/implementation/ContextManager.ts +2 -2
  155. package/src/tools/implementation/createContext.ts +4 -0
  156. package/src/tools/implementation/zodSchema/schemaTypes/AccountSchema.ts +30 -8
  157. package/src/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.ts +55 -7
  158. package/src/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.ts +38 -16
  159. package/src/tools/implementation/zodSchema/schemaTypes/CoListSchema.ts +40 -8
  160. package/src/tools/implementation/zodSchema/schemaTypes/CoMapSchema.ts +40 -16
  161. package/src/tools/implementation/zodSchema/schemaTypes/CoVectorSchema.ts +6 -2
  162. package/src/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.ts +6 -2
  163. package/src/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.ts +5 -2
  164. package/src/tools/implementation/zodSchema/schemaTypes/RichTextSchema.ts +9 -2
  165. package/src/tools/ssr/ssr.ts +2 -2
  166. package/src/tools/subscribe/CoValueCoreSubscription.ts +1 -0
  167. package/src/tools/subscribe/JazzError.ts +4 -1
  168. package/src/tools/subscribe/SubscriptionScope.ts +23 -0
  169. package/src/tools/subscribe/types.ts +5 -0
  170. package/src/tools/testing.ts +5 -5
  171. package/src/tools/tests/PassphraseAuth.test.ts +5 -5
  172. package/src/tools/tests/coList.test.ts +262 -0
  173. package/src/tools/tests/deleteCoValues.test.ts +231 -0
  174. package/src/tools/tests/deletedState.test.ts +110 -0
  175. package/src/tools/tests/request.test.ts +15 -2
  176. package/src/tools/tests/schema.withPermissions.test.ts +27 -4
  177. package/src/worker/edge-wasm.ts +2 -1
  178. package/src/worker/wasm.ts +1 -0
  179. package/tsup.config.ts +0 -4
  180. package/dist/browser/storageOptions.d.ts +0 -8
  181. package/dist/browser/storageOptions.d.ts.map +0 -1
  182. package/dist/browser/tests/storageOptions.test.d.ts +0 -2
  183. package/dist/browser/tests/storageOptions.test.d.ts.map +0 -1
  184. package/dist/chunk-M2HGBOXS.js.map +0 -1
  185. package/dist/chunk-PZ5AY32C.js +0 -10
  186. package/dist/chunk-QCTQH5RS.js.map +0 -1
  187. package/dist/expo/crypto.d.ts +0 -2
  188. package/dist/expo/crypto.d.ts.map +0 -1
  189. package/dist/expo/crypto.js +0 -6
  190. package/dist/expo/crypto.js.map +0 -1
  191. package/dist/inspector/chunk-YQNK5Y7B.js.map +0 -1
  192. package/dist/react-core/chunk-7DYMJ74I.js +0 -12
  193. package/dist/react-core/chunk-7DYMJ74I.js.map +0 -1
  194. package/dist/react-native/chunk-DGUM43GV.js +0 -11
  195. package/dist/react-native/chunk-DGUM43GV.js.map +0 -1
  196. package/dist/react-native/crypto.d.ts +0 -2
  197. package/dist/react-native/crypto.d.ts.map +0 -1
  198. package/dist/react-native/crypto.js +0 -8
  199. package/dist/react-native/crypto.js.map +0 -1
  200. package/dist/react-native-core/chunk-DGUM43GV.js +0 -11
  201. package/dist/react-native-core/chunk-DGUM43GV.js.map +0 -1
  202. package/dist/react-native-core/crypto/RNCrypto.d.ts +0 -2
  203. package/dist/react-native-core/crypto/RNCrypto.d.ts.map +0 -1
  204. package/dist/react-native-core/crypto/RNCrypto.js +0 -3
  205. package/dist/react-native-core/crypto/RNCrypto.js.map +0 -1
  206. package/dist/react-native-core/crypto/RNQuickCrypto.d.ts +0 -17
  207. package/dist/react-native-core/crypto/RNQuickCrypto.d.ts.map +0 -1
  208. package/dist/react-native-core/crypto/index.d.ts +0 -2
  209. package/dist/react-native-core/crypto/index.d.ts.map +0 -1
  210. package/dist/react-native-core/crypto.js +0 -89
  211. package/dist/react-native-core/crypto.js.map +0 -1
  212. package/src/browser/storageOptions.ts +0 -17
  213. package/src/browser/tests/storageOptions.test.ts +0 -33
  214. package/src/expo/crypto.ts +0 -1
  215. package/src/react-native/crypto.ts +0 -1
  216. package/src/react-native-core/crypto/RNCrypto.ts +0 -1
  217. package/src/react-native-core/crypto/RNQuickCrypto.ts +0 -122
  218. package/src/react-native-core/crypto/index.ts +0 -1
  219. /package/dist/{chunk-PZ5AY32C.js.map → chunk-ZQWSQH6L.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/react-core/provider.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Account, JazzContextManager, JazzContextType } from \"jazz-tools\";\n\nexport const JazzContext = React.createContext<\n JazzContextType<Account> | undefined\n>(undefined);\n\nexport const JazzContextManagerContext = React.createContext<\n JazzContextManager<Account, {}> | undefined\n>(undefined);\n"],"mappings":";;;AAAA,OAAO,WAAW;AAIX,IAAM,cAAc,MAAM,cAE/B,MAAS;AAEJ,IAAM,4BAA4B,MAAM,cAE7C,MAAS;","names":[]}
@@ -1,11 +0,0 @@
1
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
2
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
3
- }) : x)(function(x) {
4
- if (typeof require !== "undefined") return require.apply(this, arguments);
5
- throw Error('Dynamic require of "' + x + '" is not supported');
6
- });
7
-
8
- export {
9
- __require
10
- };
11
- //# sourceMappingURL=chunk-DGUM43GV.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,2 +0,0 @@
1
- export { RNQuickCrypto } from "jazz-tools/react-native-core/crypto";
2
- //# sourceMappingURL=crypto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/react-native/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC"}
@@ -1,8 +0,0 @@
1
- import "./chunk-DGUM43GV.js";
2
-
3
- // src/react-native/crypto.ts
4
- import { RNQuickCrypto } from "jazz-tools/react-native-core/crypto";
5
- export {
6
- RNQuickCrypto
7
- };
8
- //# sourceMappingURL=crypto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/react-native/crypto.ts"],"sourcesContent":["export { RNQuickCrypto } from \"jazz-tools/react-native-core/crypto\";\n"],"mappings":";;;AAAA,SAAS,qBAAqB;","names":[]}
@@ -1,11 +0,0 @@
1
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
2
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
3
- }) : x)(function(x) {
4
- if (typeof require !== "undefined") return require.apply(this, arguments);
5
- throw Error('Dynamic require of "' + x + '" is not supported');
6
- });
7
-
8
- export {
9
- __require
10
- };
11
- //# sourceMappingURL=chunk-DGUM43GV.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,2 +0,0 @@
1
- export * from "cojson/crypto/RNCrypto";
2
- //# sourceMappingURL=RNCrypto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RNCrypto.d.ts","sourceRoot":"","sources":["../../../src/react-native-core/crypto/RNCrypto.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -1,3 +0,0 @@
1
- // src/react-native-core/crypto/RNCrypto.ts
2
- export * from "cojson/crypto/RNCrypto";
3
- //# sourceMappingURL=RNCrypto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/react-native-core/crypto/RNCrypto.ts"],"sourcesContent":["export * from \"cojson/crypto/RNCrypto\";\n"],"mappings":";AAAA,cAAc;","names":[]}
@@ -1,17 +0,0 @@
1
- import { JsonValue, Stringified } from "cojson";
2
- import { CojsonInternalTypes } from "cojson";
3
- import { PureJSCrypto, Blake3State } 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
- createStreamingHash(): Blake3State;
10
- blake3HashOnce(data: Uint8Array): Uint8Array;
11
- newEd25519SigningKey(): Uint8Array;
12
- sign(secret: CojsonInternalTypes.SignerSecret, message: JsonValue): CojsonInternalTypes.Signature;
13
- verify(signature: CojsonInternalTypes.Signature, message: JsonValue, id: CojsonInternalTypes.SignerID): boolean;
14
- encrypt<T extends JsonValue, N extends JsonValue>(value: T, keySecret: CojsonInternalTypes.KeySecret, nOnceMaterial: N): CojsonInternalTypes.Encrypted<T, N>;
15
- decryptRaw<T extends JsonValue, N extends JsonValue>(encrypted: CojsonInternalTypes.Encrypted<T, N>, keySecret: CojsonInternalTypes.KeySecret, nOnceMaterial: N): Stringified<T>;
16
- }
17
- //# sourceMappingURL=RNQuickCrypto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RNQuickCrypto.d.ts","sourceRoot":"","sources":["../../../src/react-native-core/crypto/RNQuickCrypto.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,WAAW,EAGZ,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,mBAAmB,EAAmB,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,EAAE,EAA4B,MAAM,2BAA2B,CAAC;AAwBzE,qBAAa,aAAc,SAAQ,YAAY;IAC7C,EAAE,EAAE,EAAE,CAAC;;WAOM,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;IAI7C,mBAAmB,IAAI,WAAW;IAKlC,cAAc,CAAC,IAAI,EAAE,UAAU;IAI/B,oBAAoB,IAAI,UAAU;IAKlC,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;IAQV,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EAC9C,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,mBAAmB,CAAC,SAAS,EACxC,aAAa,EAAE,CAAC,GACf,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IAgBtC,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EACjD,SAAS,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9C,SAAS,EAAE,mBAAmB,CAAC,SAAS,EACxC,aAAa,EAAE,CAAC,GACf,WAAW,CAAC,CAAC,CAAC;CAalB"}
@@ -1,2 +0,0 @@
1
- export { RNQuickCrypto } from "./RNQuickCrypto.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react-native-core/crypto/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,89 +0,0 @@
1
- import "./chunk-DGUM43GV.js";
2
-
3
- // src/react-native-core/crypto/RNQuickCrypto.ts
4
- import { base58 } from "@scure/base";
5
- import {
6
- base64URLtoBytes,
7
- bytesToBase64url
8
- } from "cojson";
9
- import { cojsonInternals } from "cojson";
10
- import { PureJSCrypto } from "cojson/dist/crypto/PureJSCrypto";
11
- import { Ed, xsalsa20, blake3 } from "react-native-quick-crypto";
12
- var { stableStringify } = cojsonInternals;
13
- var Blake3StateAdapter = class _Blake3StateAdapter {
14
- constructor(instance) {
15
- this.instance = instance;
16
- }
17
- update(buf) {
18
- this.instance.update(buf);
19
- return this;
20
- }
21
- digest() {
22
- return this.instance.digest();
23
- }
24
- clone() {
25
- return new _Blake3StateAdapter(this.instance.copy());
26
- }
27
- };
28
- var RNQuickCrypto = class _RNQuickCrypto extends PureJSCrypto {
29
- constructor() {
30
- super();
31
- this.ed = new Ed("ed25519", {});
32
- }
33
- static async create() {
34
- return new _RNQuickCrypto();
35
- }
36
- createStreamingHash() {
37
- const instance = blake3.create({});
38
- return new Blake3StateAdapter(instance);
39
- }
40
- blake3HashOnce(data) {
41
- return blake3(data);
42
- }
43
- newEd25519SigningKey() {
44
- this.ed.generateKeyPairSync();
45
- return new Uint8Array(this.ed.getPrivateKey());
46
- }
47
- sign(secret, message) {
48
- const signature = new Uint8Array(
49
- this.ed.signSync(
50
- cojsonInternals.textEncoder.encode(stableStringify(message)),
51
- base58.decode(secret.substring("signerSecret_z".length))
52
- )
53
- );
54
- return `signature_z${base58.encode(signature)}`;
55
- }
56
- verify(signature, message, id) {
57
- return this.ed.verifySync(
58
- base58.decode(signature.substring("signature_z".length)),
59
- cojsonInternals.textEncoder.encode(stableStringify(message)),
60
- base58.decode(id.substring("signer_z".length))
61
- );
62
- }
63
- encrypt(value, keySecret, nOnceMaterial) {
64
- const keySecretBytes = base58.decode(
65
- keySecret.substring("keySecret_z".length)
66
- );
67
- const nOnce = this.generateJsonNonce(nOnceMaterial);
68
- const plaintext = cojsonInternals.textEncoder.encode(
69
- stableStringify(value)
70
- );
71
- const ciphertext = xsalsa20(keySecretBytes, nOnce, plaintext);
72
- return `encrypted_U${bytesToBase64url(ciphertext)}`;
73
- }
74
- decryptRaw(encrypted, keySecret, nOnceMaterial) {
75
- const keySecretBytes = base58.decode(
76
- keySecret.substring("keySecret_z".length)
77
- );
78
- const nOnce = this.generateJsonNonce(nOnceMaterial);
79
- const ciphertext = base64URLtoBytes(
80
- encrypted.substring("encrypted_U".length)
81
- );
82
- const plaintext = xsalsa20(keySecretBytes, nOnce, ciphertext);
83
- return cojsonInternals.textDecoder.decode(plaintext);
84
- }
85
- };
86
- export {
87
- RNQuickCrypto
88
- };
89
- //# sourceMappingURL=crypto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/react-native-core/crypto/RNQuickCrypto.ts"],"sourcesContent":["import { base58 } from \"@scure/base\";\nimport {\n JsonValue,\n Stringified,\n base64URLtoBytes,\n bytesToBase64url,\n} from \"cojson\";\nimport { CojsonInternalTypes, cojsonInternals } from \"cojson\";\nimport { PureJSCrypto, Blake3State } from \"cojson/dist/crypto/PureJSCrypto\"; // Importing from dist to not rely on the exports field\nimport { Ed, xsalsa20, blake3, Blake3 } from \"react-native-quick-crypto\";\nconst { stableStringify } = cojsonInternals;\n\nclass Blake3StateAdapter implements Blake3State {\n private instance: Blake3;\n\n constructor(instance: Blake3) {\n this.instance = instance;\n }\n\n update(buf: Uint8Array) {\n this.instance.update(buf);\n return this;\n }\n\n digest() {\n return this.instance.digest();\n }\n\n clone() {\n return new Blake3StateAdapter(this.instance.copy());\n }\n}\n\nexport class RNQuickCrypto extends PureJSCrypto {\n ed: Ed;\n\n constructor() {\n super();\n this.ed = new Ed(\"ed25519\", {});\n }\n\n static async create(): Promise<RNQuickCrypto> {\n return new RNQuickCrypto();\n }\n\n createStreamingHash(): Blake3State {\n const instance = blake3.create({});\n return new Blake3StateAdapter(instance);\n }\n\n blake3HashOnce(data: Uint8Array) {\n return blake3(data);\n }\n\n newEd25519SigningKey(): Uint8Array {\n this.ed.generateKeyPairSync();\n return new Uint8Array(this.ed.getPrivateKey());\n }\n\n sign(\n secret: CojsonInternalTypes.SignerSecret,\n message: JsonValue,\n ): CojsonInternalTypes.Signature {\n const signature = new Uint8Array(\n this.ed.signSync(\n cojsonInternals.textEncoder.encode(stableStringify(message)),\n base58.decode(secret.substring(\"signerSecret_z\".length)),\n ),\n );\n return `signature_z${base58.encode(signature)}`;\n }\n\n verify(\n signature: CojsonInternalTypes.Signature,\n message: JsonValue,\n id: CojsonInternalTypes.SignerID,\n ): boolean {\n return this.ed.verifySync(\n base58.decode(signature.substring(\"signature_z\".length)),\n cojsonInternals.textEncoder.encode(stableStringify(message)),\n base58.decode(id.substring(\"signer_z\".length)),\n );\n }\n\n encrypt<T extends JsonValue, N extends JsonValue>(\n value: T,\n keySecret: CojsonInternalTypes.KeySecret,\n nOnceMaterial: N,\n ): CojsonInternalTypes.Encrypted<T, N> {\n const keySecretBytes = base58.decode(\n keySecret.substring(\"keySecret_z\".length),\n );\n const nOnce = this.generateJsonNonce(nOnceMaterial);\n\n const plaintext = cojsonInternals.textEncoder.encode(\n stableStringify(value),\n );\n const ciphertext = xsalsa20(keySecretBytes, nOnce, plaintext);\n return `encrypted_U${bytesToBase64url(ciphertext)}` as CojsonInternalTypes.Encrypted<\n T,\n N\n >;\n }\n\n decryptRaw<T extends JsonValue, N extends JsonValue>(\n encrypted: CojsonInternalTypes.Encrypted<T, N>,\n keySecret: CojsonInternalTypes.KeySecret,\n nOnceMaterial: N,\n ): Stringified<T> {\n const keySecretBytes = base58.decode(\n keySecret.substring(\"keySecret_z\".length),\n );\n const nOnce = this.generateJsonNonce(nOnceMaterial);\n\n const ciphertext = base64URLtoBytes(\n encrypted.substring(\"encrypted_U\".length),\n );\n const plaintext = xsalsa20(keySecretBytes, nOnce, ciphertext);\n\n return cojsonInternals.textDecoder.decode(plaintext) as Stringified<T>;\n }\n}\n"],"mappings":";;;AAAA,SAAS,cAAc;AACvB;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AACP,SAA8B,uBAAuB;AACrD,SAAS,oBAAiC;AAC1C,SAAS,IAAI,UAAU,cAAsB;AAC7C,IAAM,EAAE,gBAAgB,IAAI;AAE5B,IAAM,qBAAN,MAAM,oBAA0C;AAAA,EAG9C,YAAY,UAAkB;AAC5B,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,OAAO,KAAiB;AACtB,SAAK,SAAS,OAAO,GAAG;AACxB,WAAO;AAAA,EACT;AAAA,EAEA,SAAS;AACP,WAAO,KAAK,SAAS,OAAO;AAAA,EAC9B;AAAA,EAEA,QAAQ;AACN,WAAO,IAAI,oBAAmB,KAAK,SAAS,KAAK,CAAC;AAAA,EACpD;AACF;AAEO,IAAM,gBAAN,MAAM,uBAAsB,aAAa;AAAA,EAG9C,cAAc;AACZ,UAAM;AACN,SAAK,KAAK,IAAI,GAAG,WAAW,CAAC,CAAC;AAAA,EAChC;AAAA,EAEA,aAAa,SAAiC;AAC5C,WAAO,IAAI,eAAc;AAAA,EAC3B;AAAA,EAEA,sBAAmC;AACjC,UAAM,WAAW,OAAO,OAAO,CAAC,CAAC;AACjC,WAAO,IAAI,mBAAmB,QAAQ;AAAA,EACxC;AAAA,EAEA,eAAe,MAAkB;AAC/B,WAAO,OAAO,IAAI;AAAA,EACpB;AAAA,EAEA,uBAAmC;AACjC,SAAK,GAAG,oBAAoB;AAC5B,WAAO,IAAI,WAAW,KAAK,GAAG,cAAc,CAAC;AAAA,EAC/C;AAAA,EAEA,KACE,QACA,SAC+B;AAC/B,UAAM,YAAY,IAAI;AAAA,MACpB,KAAK,GAAG;AAAA,QACN,gBAAgB,YAAY,OAAO,gBAAgB,OAAO,CAAC;AAAA,QAC3D,OAAO,OAAO,OAAO,UAAU,iBAAiB,MAAM,CAAC;AAAA,MACzD;AAAA,IACF;AACA,WAAO,cAAc,OAAO,OAAO,SAAS,CAAC;AAAA,EAC/C;AAAA,EAEA,OACE,WACA,SACA,IACS;AACT,WAAO,KAAK,GAAG;AAAA,MACb,OAAO,OAAO,UAAU,UAAU,cAAc,MAAM,CAAC;AAAA,MACvD,gBAAgB,YAAY,OAAO,gBAAgB,OAAO,CAAC;AAAA,MAC3D,OAAO,OAAO,GAAG,UAAU,WAAW,MAAM,CAAC;AAAA,IAC/C;AAAA,EACF;AAAA,EAEA,QACE,OACA,WACA,eACqC;AACrC,UAAM,iBAAiB,OAAO;AAAA,MAC5B,UAAU,UAAU,cAAc,MAAM;AAAA,IAC1C;AACA,UAAM,QAAQ,KAAK,kBAAkB,aAAa;AAElD,UAAM,YAAY,gBAAgB,YAAY;AAAA,MAC5C,gBAAgB,KAAK;AAAA,IACvB;AACA,UAAM,aAAa,SAAS,gBAAgB,OAAO,SAAS;AAC5D,WAAO,cAAc,iBAAiB,UAAU,CAAC;AAAA,EAInD;AAAA,EAEA,WACE,WACA,WACA,eACgB;AAChB,UAAM,iBAAiB,OAAO;AAAA,MAC5B,UAAU,UAAU,cAAc,MAAM;AAAA,IAC1C;AACA,UAAM,QAAQ,KAAK,kBAAkB,aAAa;AAElD,UAAM,aAAa;AAAA,MACjB,UAAU,UAAU,cAAc,MAAM;AAAA,IAC1C;AACA,UAAM,YAAY,SAAS,gBAAgB,OAAO,UAAU;AAE5D,WAAO,gBAAgB,YAAY,OAAO,SAAS;AAAA,EACrD;AACF;","names":[]}
@@ -1,17 +0,0 @@
1
- type StorageOption = "indexedDB";
2
- type CombinedStorageOption = ["indexedDB"];
3
- export type StorageConfig =
4
- | StorageOption
5
- | CombinedStorageOption
6
- | [StorageOption];
7
-
8
- export function getStorageOptions(storage?: StorageConfig): {
9
- useIndexedDB: boolean;
10
- } {
11
- const useIndexedDB =
12
- !storage ||
13
- (Array.isArray(storage) && storage.includes("indexedDB")) ||
14
- storage === "indexedDB";
15
-
16
- return { useIndexedDB };
17
- }
@@ -1,33 +0,0 @@
1
- import { describe, expect, test } from "vitest";
2
- import { getStorageOptions } from "../storageOptions.js";
3
-
4
- describe("getStorageOptions", () => {
5
- test("should default to indexedDB only when no storage option is provided", () => {
6
- const result = getStorageOptions();
7
- expect(result).toEqual({
8
- useIndexedDB: true,
9
- });
10
- });
11
-
12
- test("should enable only indexedDB when 'indexedDB' is provided", () => {
13
- const result = getStorageOptions("indexedDB");
14
- expect(result).toEqual({
15
- useIndexedDB: true,
16
- });
17
- });
18
-
19
- test("should enable only indexedDB when array with only indexedDB is provided", () => {
20
- const result = getStorageOptions(["indexedDB"]);
21
- expect(result).toEqual({
22
- useIndexedDB: true,
23
- });
24
- });
25
-
26
- // Type checking tests
27
- test("should handle type checking for StorageConfig", () => {
28
- // These should compile without type errors
29
- getStorageOptions("indexedDB");
30
- getStorageOptions(["indexedDB"]);
31
- getStorageOptions(undefined);
32
- });
33
- });
@@ -1 +0,0 @@
1
- export { RNQuickCrypto } from "jazz-tools/react-native-core/crypto";
@@ -1 +0,0 @@
1
- export { RNQuickCrypto } from "jazz-tools/react-native-core/crypto";
@@ -1 +0,0 @@
1
- export * from "cojson/crypto/RNCrypto";
@@ -1,122 +0,0 @@
1
- import { base58 } from "@scure/base";
2
- import {
3
- JsonValue,
4
- Stringified,
5
- base64URLtoBytes,
6
- bytesToBase64url,
7
- } from "cojson";
8
- import { CojsonInternalTypes, cojsonInternals } from "cojson";
9
- import { PureJSCrypto, Blake3State } from "cojson/dist/crypto/PureJSCrypto"; // Importing from dist to not rely on the exports field
10
- import { Ed, xsalsa20, blake3, Blake3 } from "react-native-quick-crypto";
11
- const { stableStringify } = cojsonInternals;
12
-
13
- class Blake3StateAdapter implements Blake3State {
14
- private instance: Blake3;
15
-
16
- constructor(instance: Blake3) {
17
- this.instance = instance;
18
- }
19
-
20
- update(buf: Uint8Array) {
21
- this.instance.update(buf);
22
- return this;
23
- }
24
-
25
- digest() {
26
- return this.instance.digest();
27
- }
28
-
29
- clone() {
30
- return new Blake3StateAdapter(this.instance.copy());
31
- }
32
- }
33
-
34
- export class RNQuickCrypto extends PureJSCrypto {
35
- ed: Ed;
36
-
37
- constructor() {
38
- super();
39
- this.ed = new Ed("ed25519", {});
40
- }
41
-
42
- static async create(): Promise<RNQuickCrypto> {
43
- return new RNQuickCrypto();
44
- }
45
-
46
- createStreamingHash(): Blake3State {
47
- const instance = blake3.create({});
48
- return new Blake3StateAdapter(instance);
49
- }
50
-
51
- blake3HashOnce(data: Uint8Array) {
52
- return blake3(data);
53
- }
54
-
55
- newEd25519SigningKey(): Uint8Array {
56
- this.ed.generateKeyPairSync();
57
- return new Uint8Array(this.ed.getPrivateKey());
58
- }
59
-
60
- sign(
61
- secret: CojsonInternalTypes.SignerSecret,
62
- message: JsonValue,
63
- ): CojsonInternalTypes.Signature {
64
- const signature = new Uint8Array(
65
- this.ed.signSync(
66
- cojsonInternals.textEncoder.encode(stableStringify(message)),
67
- base58.decode(secret.substring("signerSecret_z".length)),
68
- ),
69
- );
70
- return `signature_z${base58.encode(signature)}`;
71
- }
72
-
73
- verify(
74
- signature: CojsonInternalTypes.Signature,
75
- message: JsonValue,
76
- id: CojsonInternalTypes.SignerID,
77
- ): boolean {
78
- return this.ed.verifySync(
79
- base58.decode(signature.substring("signature_z".length)),
80
- cojsonInternals.textEncoder.encode(stableStringify(message)),
81
- base58.decode(id.substring("signer_z".length)),
82
- );
83
- }
84
-
85
- encrypt<T extends JsonValue, N extends JsonValue>(
86
- value: T,
87
- keySecret: CojsonInternalTypes.KeySecret,
88
- nOnceMaterial: N,
89
- ): CojsonInternalTypes.Encrypted<T, N> {
90
- const keySecretBytes = base58.decode(
91
- keySecret.substring("keySecret_z".length),
92
- );
93
- const nOnce = this.generateJsonNonce(nOnceMaterial);
94
-
95
- const plaintext = cojsonInternals.textEncoder.encode(
96
- stableStringify(value),
97
- );
98
- const ciphertext = xsalsa20(keySecretBytes, nOnce, plaintext);
99
- return `encrypted_U${bytesToBase64url(ciphertext)}` as CojsonInternalTypes.Encrypted<
100
- T,
101
- N
102
- >;
103
- }
104
-
105
- decryptRaw<T extends JsonValue, N extends JsonValue>(
106
- encrypted: CojsonInternalTypes.Encrypted<T, N>,
107
- keySecret: CojsonInternalTypes.KeySecret,
108
- nOnceMaterial: N,
109
- ): Stringified<T> {
110
- const keySecretBytes = base58.decode(
111
- keySecret.substring("keySecret_z".length),
112
- );
113
- const nOnce = this.generateJsonNonce(nOnceMaterial);
114
-
115
- const ciphertext = base64URLtoBytes(
116
- encrypted.substring("encrypted_U".length),
117
- );
118
- const plaintext = xsalsa20(keySecretBytes, nOnce, ciphertext);
119
-
120
- return cojsonInternals.textDecoder.decode(plaintext) as Stringified<T>;
121
- }
122
- }
@@ -1 +0,0 @@
1
- export { RNQuickCrypto } from "./RNQuickCrypto.js";