jazz-tools 0.18.38 → 0.19.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.
Files changed (302) hide show
  1. package/.svelte-kit/__package__/jazz.class.svelte.d.ts +8 -8
  2. package/.svelte-kit/__package__/jazz.class.svelte.d.ts.map +1 -1
  3. package/.svelte-kit/__package__/jazz.class.svelte.js +39 -14
  4. package/.svelte-kit/__package__/media/image.svelte +6 -5
  5. package/.svelte-kit/__package__/media/image.svelte.d.ts.map +1 -1
  6. package/.svelte-kit/__package__/tests/AccountCoState.svelte.test-d.d.ts +2 -0
  7. package/.svelte-kit/__package__/tests/AccountCoState.svelte.test-d.d.ts.map +1 -0
  8. package/.svelte-kit/__package__/tests/AccountCoState.svelte.test-d.js +19 -0
  9. package/.svelte-kit/__package__/tests/CoState.svelte.test-d.d.ts +2 -0
  10. package/.svelte-kit/__package__/tests/CoState.svelte.test-d.d.ts.map +1 -0
  11. package/.svelte-kit/__package__/tests/CoState.svelte.test-d.js +16 -0
  12. package/.svelte-kit/__package__/tests/CoState.svelte.test.d.ts +2 -0
  13. package/.svelte-kit/__package__/tests/CoState.svelte.test.d.ts.map +1 -0
  14. package/.svelte-kit/__package__/tests/CoState.svelte.test.js +42 -0
  15. package/.svelte-kit/__package__/tests/TestCoStateWrapper.svelte +23 -0
  16. package/.svelte-kit/__package__/tests/TestCoStateWrapper.svelte.d.ts +12 -0
  17. package/.svelte-kit/__package__/tests/TestCoStateWrapper.svelte.d.ts.map +1 -0
  18. package/.turbo/turbo-build.log +57 -57
  19. package/CHANGELOG.md +22 -0
  20. package/dist/better-auth/database-adapter/index.js +14 -11
  21. package/dist/better-auth/database-adapter/index.js.map +1 -1
  22. package/dist/better-auth/database-adapter/repository/generic.d.ts +1 -1
  23. package/dist/better-auth/database-adapter/repository/generic.d.ts.map +1 -1
  24. package/dist/better-auth/database-adapter/repository/user.d.ts.map +1 -1
  25. package/dist/{chunk-OSQ7S47Q.js → chunk-P3YLNFN4.js} +504 -232
  26. package/dist/chunk-P3YLNFN4.js.map +1 -0
  27. package/dist/index.js +14 -6
  28. package/dist/index.js.map +1 -1
  29. package/dist/media/{chunk-K6GCHLQU.js → chunk-3LKBM3G3.js} +23 -15
  30. package/dist/media/chunk-3LKBM3G3.js.map +1 -0
  31. package/dist/media/create-image/browser.d.ts +2 -2
  32. package/dist/media/create-image/react-native.d.ts +2 -2
  33. package/dist/media/create-image/server.d.ts +2 -2
  34. package/dist/media/create-image-factory.d.ts +2 -2
  35. package/dist/media/index.browser.js +1 -1
  36. package/dist/media/index.js +1 -1
  37. package/dist/media/index.native.js +1 -1
  38. package/dist/media/index.server.js +1 -1
  39. package/dist/media/utils.d.ts.map +1 -1
  40. package/dist/react/hooks.d.ts +1 -1
  41. package/dist/react/hooks.d.ts.map +1 -1
  42. package/dist/react/index.d.ts +1 -1
  43. package/dist/react/index.d.ts.map +1 -1
  44. package/dist/react/index.js +31 -15
  45. package/dist/react/index.js.map +1 -1
  46. package/dist/react/media/image.d.ts.map +1 -1
  47. package/dist/react-core/hooks.d.ts +126 -224
  48. package/dist/react-core/hooks.d.ts.map +1 -1
  49. package/dist/react-core/index.js +65 -63
  50. package/dist/react-core/index.js.map +1 -1
  51. package/dist/react-core/subscription-provider.d.ts.map +1 -1
  52. package/dist/react-core/tests/createCoValueSubscriptionContext.test.d.ts +2 -0
  53. package/dist/react-core/tests/createCoValueSubscriptionContext.test.d.ts.map +1 -0
  54. package/dist/react-core/tests/useAccount.selector.test.d.ts +2 -0
  55. package/dist/react-core/tests/useAccount.selector.test.d.ts.map +1 -0
  56. package/dist/react-core/tests/useCoState.selector.test.d.ts +2 -0
  57. package/dist/react-core/tests/useCoState.selector.test.d.ts.map +1 -0
  58. package/dist/react-native-core/hooks.d.ts +1 -1
  59. package/dist/react-native-core/hooks.d.ts.map +1 -1
  60. package/dist/react-native-core/index.js +7 -5
  61. package/dist/react-native-core/index.js.map +1 -1
  62. package/dist/react-native-core/media/image.d.ts.map +1 -1
  63. package/dist/svelte/jazz.class.svelte.d.ts +8 -8
  64. package/dist/svelte/jazz.class.svelte.d.ts.map +1 -1
  65. package/dist/svelte/jazz.class.svelte.js +39 -14
  66. package/dist/svelte/media/image.svelte +6 -5
  67. package/dist/svelte/media/image.svelte.d.ts.map +1 -1
  68. package/dist/svelte/tests/AccountCoState.svelte.test-d.d.ts +2 -0
  69. package/dist/svelte/tests/AccountCoState.svelte.test-d.d.ts.map +1 -0
  70. package/dist/svelte/tests/AccountCoState.svelte.test-d.js +19 -0
  71. package/dist/svelte/tests/CoState.svelte.test-d.d.ts +2 -0
  72. package/dist/svelte/tests/CoState.svelte.test-d.d.ts.map +1 -0
  73. package/dist/svelte/tests/CoState.svelte.test-d.js +16 -0
  74. package/dist/svelte/tests/CoState.svelte.test.d.ts +2 -0
  75. package/dist/svelte/tests/CoState.svelte.test.d.ts.map +1 -0
  76. package/dist/svelte/tests/CoState.svelte.test.js +42 -0
  77. package/dist/svelte/tests/TestCoStateWrapper.svelte +23 -0
  78. package/dist/svelte/tests/TestCoStateWrapper.svelte.d.ts +12 -0
  79. package/dist/svelte/tests/TestCoStateWrapper.svelte.d.ts.map +1 -0
  80. package/dist/testing.js +3 -1
  81. package/dist/testing.js.map +1 -1
  82. package/dist/tools/coValues/CoValueBase.d.ts +4 -1
  83. package/dist/tools/coValues/CoValueBase.d.ts.map +1 -1
  84. package/dist/tools/coValues/account.d.ts +6 -6
  85. package/dist/tools/coValues/account.d.ts.map +1 -1
  86. package/dist/tools/coValues/coFeed.d.ts +5 -5
  87. package/dist/tools/coValues/coFeed.d.ts.map +1 -1
  88. package/dist/tools/coValues/coList.d.ts +9 -8
  89. package/dist/tools/coValues/coList.d.ts.map +1 -1
  90. package/dist/tools/coValues/coMap.d.ts +17 -17
  91. package/dist/tools/coValues/coMap.d.ts.map +1 -1
  92. package/dist/tools/coValues/coPlainText.d.ts +3 -3
  93. package/dist/tools/coValues/coPlainText.d.ts.map +1 -1
  94. package/dist/tools/coValues/coVector.d.ts +3 -3
  95. package/dist/tools/coValues/coVector.d.ts.map +1 -1
  96. package/dist/tools/coValues/deepLoading.d.ts +66 -36
  97. package/dist/tools/coValues/deepLoading.d.ts.map +1 -1
  98. package/dist/tools/coValues/extensions/imageDef.d.ts +1 -1
  99. package/dist/tools/coValues/extensions/imageDef.d.ts.map +1 -1
  100. package/dist/tools/coValues/group.d.ts +2 -2
  101. package/dist/tools/coValues/group.d.ts.map +1 -1
  102. package/dist/tools/coValues/inbox.d.ts.map +1 -1
  103. package/dist/tools/coValues/interfaces.d.ts +14 -6
  104. package/dist/tools/coValues/interfaces.d.ts.map +1 -1
  105. package/dist/tools/coValues/request.d.ts.map +1 -1
  106. package/dist/tools/coValues/schemaUnion.d.ts +2 -2
  107. package/dist/tools/coValues/schemaUnion.d.ts.map +1 -1
  108. package/dist/tools/exports.d.ts +3 -3
  109. package/dist/tools/exports.d.ts.map +1 -1
  110. package/dist/tools/implementation/refs.d.ts +3 -3
  111. package/dist/tools/implementation/refs.d.ts.map +1 -1
  112. package/dist/tools/implementation/schema.d.ts +2 -2
  113. package/dist/tools/implementation/schema.d.ts.map +1 -1
  114. package/dist/tools/implementation/schemaUtils.d.ts +8 -0
  115. package/dist/tools/implementation/schemaUtils.d.ts.map +1 -1
  116. package/dist/tools/implementation/zodSchema/runtimeConverters/coValueSchemaTransformation.d.ts.map +1 -1
  117. package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts +33 -18
  118. package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts.map +1 -1
  119. package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts +5 -4
  120. package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts.map +1 -1
  121. package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts +23 -12
  122. package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts.map +1 -1
  123. package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts +29 -18
  124. package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts.map +1 -1
  125. package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts +39 -22
  126. package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts.map +1 -1
  127. package/dist/tools/implementation/zodSchema/schemaTypes/CoOptionalSchema.d.ts +1 -0
  128. package/dist/tools/implementation/zodSchema/schemaTypes/CoOptionalSchema.d.ts.map +1 -1
  129. package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts +30 -19
  130. package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts.map +1 -1
  131. package/dist/tools/implementation/zodSchema/schemaTypes/CoValueSchema.d.ts +5 -0
  132. package/dist/tools/implementation/zodSchema/schemaTypes/CoValueSchema.d.ts.map +1 -1
  133. package/dist/tools/implementation/zodSchema/schemaTypes/CoVectorSchema.d.ts +6 -5
  134. package/dist/tools/implementation/zodSchema/schemaTypes/CoVectorSchema.d.ts.map +1 -1
  135. package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts +3 -2
  136. package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts.map +1 -1
  137. package/dist/tools/implementation/zodSchema/schemaTypes/GroupSchema.d.ts +3 -2
  138. package/dist/tools/implementation/zodSchema/schemaTypes/GroupSchema.d.ts.map +1 -1
  139. package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts +3 -2
  140. package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts.map +1 -1
  141. package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts +3 -2
  142. package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts.map +1 -1
  143. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.d.ts +3 -0
  144. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.d.ts.map +1 -1
  145. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesMaybeLoaded.d.ts +22 -0
  146. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesMaybeLoaded.d.ts.map +1 -0
  147. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.d.ts +4 -0
  148. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.d.ts.map +1 -1
  149. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded.d.ts +9 -0
  150. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded.d.ts.map +1 -0
  151. package/dist/tools/implementation/zodSchema/zodCo.d.ts.map +1 -1
  152. package/dist/tools/implementation/zodSchema/zodSchema.d.ts +7 -6
  153. package/dist/tools/implementation/zodSchema/zodSchema.d.ts.map +1 -1
  154. package/dist/tools/internal.d.ts +3 -3
  155. package/dist/tools/internal.d.ts.map +1 -1
  156. package/dist/tools/lib/utils.d.ts +14 -0
  157. package/dist/tools/lib/utils.d.ts.map +1 -0
  158. package/dist/tools/lib/utils.test.d.ts +2 -0
  159. package/dist/tools/lib/utils.test.d.ts.map +1 -0
  160. package/dist/tools/subscribe/CoValueCoreSubscription.d.ts +3 -2
  161. package/dist/tools/subscribe/CoValueCoreSubscription.d.ts.map +1 -1
  162. package/dist/tools/subscribe/JazzError.d.ts +4 -3
  163. package/dist/tools/subscribe/JazzError.d.ts.map +1 -1
  164. package/dist/tools/subscribe/SubscriptionScope.d.ts +6 -5
  165. package/dist/tools/subscribe/SubscriptionScope.d.ts.map +1 -1
  166. package/dist/tools/subscribe/index.d.ts.map +1 -1
  167. package/dist/tools/subscribe/types.d.ts +23 -3
  168. package/dist/tools/subscribe/types.d.ts.map +1 -1
  169. package/dist/tools/subscribe/utils.d.ts.map +1 -1
  170. package/dist/tools/testing.d.ts +3 -2
  171. package/dist/tools/testing.d.ts.map +1 -1
  172. package/dist/tools/tests/schema.resolved.test.d.ts +2 -0
  173. package/dist/tools/tests/schema.resolved.test.d.ts.map +1 -0
  174. package/dist/tools/tests/utils.d.ts +2 -1
  175. package/dist/tools/tests/utils.d.ts.map +1 -1
  176. package/package.json +4 -4
  177. package/src/better-auth/database-adapter/index.ts +2 -2
  178. package/src/better-auth/database-adapter/repository/account.ts +3 -3
  179. package/src/better-auth/database-adapter/repository/generic.ts +9 -6
  180. package/src/better-auth/database-adapter/repository/user.ts +6 -2
  181. package/src/better-auth/database-adapter/schema.ts +1 -1
  182. package/src/better-auth/database-adapter/tests/index.test.ts +3 -4
  183. package/src/inspector/tests/viewer/history-view.test.tsx +6 -2
  184. package/src/media/utils.test.ts +5 -0
  185. package/src/media/utils.ts +25 -16
  186. package/src/react/hooks.tsx +2 -2
  187. package/src/react/index.ts +2 -2
  188. package/src/react/media/image.tsx +10 -2
  189. package/src/react/tests/useAcceptInvite.test.ts +3 -1
  190. package/src/react-core/hooks.ts +226 -304
  191. package/src/react-core/subscription-provider.tsx +14 -7
  192. package/src/react-core/tests/createCoValueSubscriptionContext.test.tsx +233 -0
  193. package/src/react-core/tests/subscription.bench.tsx +32 -15
  194. package/src/react-core/tests/{useAccountWithSelector.test.ts → useAccount.selector.test.ts} +72 -24
  195. package/src/react-core/tests/useAccount.test.ts +92 -106
  196. package/src/react-core/tests/{useCoStateWithSelector.test.ts → useCoState.selector.test.ts} +23 -8
  197. package/src/react-core/tests/useCoState.test.ts +173 -49
  198. package/src/react-core/tests/useInboxSender.test.ts +3 -1
  199. package/src/react-core/tests/usePassPhraseAuth.test.ts +11 -82
  200. package/src/react-core/tests/useSubscriptionSelector.test.ts +48 -14
  201. package/src/react-native-core/hooks.tsx +2 -2
  202. package/src/react-native-core/media/image.tsx +3 -1
  203. package/src/svelte/jazz.class.svelte.ts +103 -27
  204. package/src/svelte/media/image.svelte +6 -5
  205. package/src/svelte/tests/AccountCoState.svelte.test-d.ts +23 -0
  206. package/src/svelte/tests/CoState.svelte.test-d.ts +20 -0
  207. package/src/svelte/tests/CoState.svelte.test.ts +57 -0
  208. package/src/svelte/tests/TestCoStateWrapper.svelte +23 -0
  209. package/src/tools/coValues/CoValueBase.ts +12 -0
  210. package/src/tools/coValues/account.ts +17 -12
  211. package/src/tools/coValues/coFeed.ts +38 -15
  212. package/src/tools/coValues/coList.ts +16 -11
  213. package/src/tools/coValues/coMap.ts +15 -14
  214. package/src/tools/coValues/coPlainText.ts +6 -3
  215. package/src/tools/coValues/coVector.ts +6 -5
  216. package/src/tools/coValues/deepLoading.ts +98 -51
  217. package/src/tools/coValues/group.ts +3 -2
  218. package/src/tools/coValues/inbox.ts +11 -10
  219. package/src/tools/coValues/interfaces.ts +49 -27
  220. package/src/tools/coValues/request.ts +8 -6
  221. package/src/tools/coValues/schemaUnion.ts +2 -1
  222. package/src/tools/exports.ts +11 -1
  223. package/src/tools/implementation/refs.ts +19 -13
  224. package/src/tools/implementation/schema.ts +5 -4
  225. package/src/tools/implementation/schemaUtils.ts +15 -0
  226. package/src/tools/implementation/zodSchema/runtimeConverters/coValueSchemaTransformation.ts +4 -4
  227. package/src/tools/implementation/zodSchema/schemaTypes/AccountSchema.ts +131 -95
  228. package/src/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.ts +19 -9
  229. package/src/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.ts +73 -22
  230. package/src/tools/implementation/zodSchema/schemaTypes/CoListSchema.ts +86 -28
  231. package/src/tools/implementation/zodSchema/schemaTypes/CoMapSchema.ts +204 -148
  232. package/src/tools/implementation/zodSchema/schemaTypes/CoOptionalSchema.ts +1 -0
  233. package/src/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.ts +71 -27
  234. package/src/tools/implementation/zodSchema/schemaTypes/CoValueSchema.ts +7 -0
  235. package/src/tools/implementation/zodSchema/schemaTypes/CoVectorSchema.ts +8 -6
  236. package/src/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.ts +4 -1
  237. package/src/tools/implementation/zodSchema/schemaTypes/GroupSchema.ts +4 -1
  238. package/src/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.ts +4 -1
  239. package/src/tools/implementation/zodSchema/schemaTypes/RichTextSchema.ts +4 -1
  240. package/src/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.ts +3 -0
  241. package/src/tools/implementation/zodSchema/typeConverters/{InstanceOfSchemaCoValuesNullable.ts → InstanceOfSchemaCoValuesMaybeLoaded.ts} +47 -39
  242. package/src/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.ts +4 -0
  243. package/src/tools/implementation/zodSchema/typeConverters/{InstanceOrPrimitiveOfSchemaCoValuesNullable.ts → InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded.ts} +7 -3
  244. package/src/tools/implementation/zodSchema/zodSchema.ts +15 -7
  245. package/src/tools/internal.ts +3 -3
  246. package/src/tools/lib/utils.test.ts +56 -0
  247. package/src/tools/lib/utils.ts +32 -0
  248. package/src/tools/subscribe/CoValueCoreSubscription.ts +13 -8
  249. package/src/tools/subscribe/JazzError.ts +8 -2
  250. package/src/tools/subscribe/SubscriptionScope.ts +55 -44
  251. package/src/tools/subscribe/index.ts +12 -4
  252. package/src/tools/subscribe/types.ts +36 -2
  253. package/src/tools/subscribe/utils.ts +2 -1
  254. package/src/tools/testing.ts +5 -0
  255. package/src/tools/tests/CoValueCoreSubscription.test.ts +10 -4
  256. package/src/tools/tests/ContextManager.test.ts +12 -5
  257. package/src/tools/tests/account.test.ts +22 -12
  258. package/src/tools/tests/coDiscriminatedUnion.test.ts +8 -4
  259. package/src/tools/tests/coFeed.branch.test.ts +48 -32
  260. package/src/tools/tests/coFeed.test-d.ts +17 -10
  261. package/src/tools/tests/coFeed.test.ts +52 -30
  262. package/src/tools/tests/coList.branch.test.ts +21 -21
  263. package/src/tools/tests/coList.test-d.ts +39 -23
  264. package/src/tools/tests/coList.test.ts +51 -25
  265. package/src/tools/tests/coList.unique.test.ts +34 -29
  266. package/src/tools/tests/coMap.branch.test.ts +20 -21
  267. package/src/tools/tests/coMap.record.test-d.ts +28 -26
  268. package/src/tools/tests/coMap.record.test.ts +30 -20
  269. package/src/tools/tests/coMap.test-d.ts +31 -29
  270. package/src/tools/tests/coMap.test.ts +67 -40
  271. package/src/tools/tests/coMap.unique.test.ts +25 -24
  272. package/src/tools/tests/coVector.test.ts +29 -15
  273. package/src/tools/tests/createContext.test.ts +5 -3
  274. package/src/tools/tests/deepLoading.test.ts +314 -117
  275. package/src/tools/tests/exportImport.test.ts +16 -15
  276. package/src/tools/tests/groupsAndAccounts.test.ts +39 -16
  277. package/src/tools/tests/inbox.test.ts +3 -1
  278. package/src/tools/tests/load.test.ts +29 -23
  279. package/src/tools/tests/patterns/quest.test.ts +3 -2
  280. package/src/tools/tests/patterns/requestToJoin.test.ts +17 -17
  281. package/src/tools/tests/request.test.ts +12 -2
  282. package/src/tools/tests/schema.resolved.test.ts +723 -0
  283. package/src/tools/tests/schemaUnion.test.ts +7 -3
  284. package/src/tools/tests/subscribe.test.ts +39 -21
  285. package/src/tools/tests/testing.test.ts +3 -2
  286. package/src/tools/tests/utils.ts +15 -2
  287. package/dist/chunk-OSQ7S47Q.js.map +0 -1
  288. package/dist/media/chunk-K6GCHLQU.js.map +0 -1
  289. package/dist/react-core/tests/useAccountWithSelector.test.d.ts +0 -2
  290. package/dist/react-core/tests/useAccountWithSelector.test.d.ts.map +0 -1
  291. package/dist/react-core/tests/useCoStateWithSelector.test.d.ts +0 -2
  292. package/dist/react-core/tests/useCoStateWithSelector.test.d.ts.map +0 -1
  293. package/dist/tools/implementation/errors.d.ts +0 -2
  294. package/dist/tools/implementation/errors.d.ts.map +0 -1
  295. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.d.ts +0 -19
  296. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.d.ts.map +0 -1
  297. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts +0 -5
  298. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts.map +0 -1
  299. package/dist/tools/lib/id.d.ts +0 -2
  300. package/dist/tools/lib/id.d.ts.map +0 -1
  301. package/src/tools/implementation/errors.ts +0 -1
  302. package/src/tools/lib/id.ts +0 -3
@@ -1,5 +1,6 @@
1
1
  import { LocalNode, RawCoValue } from "cojson";
2
2
  import type { BranchDefinition } from "./types.js";
3
+ import { CoValueLoadingState } from "./types.js";
3
4
  /**
4
5
  * Manages subscriptions to CoValue cores, handling both direct subscriptions
5
6
  * and branch-based subscriptions with automatic loading and error handling.
@@ -15,7 +16,7 @@ export declare class CoValueCoreSubscription {
15
16
  private localNode;
16
17
  private listener;
17
18
  private skipRetry?;
18
- constructor(localNode: LocalNode, id: string, listener: (value: RawCoValue | "unavailable") => void, skipRetry?: boolean, branch?: BranchDefinition);
19
+ constructor(localNode: LocalNode, id: string, listener: (value: RawCoValue | typeof CoValueLoadingState.UNAVAILABLE) => void, skipRetry?: boolean, branch?: BranchDefinition);
19
20
  /**
20
21
  * Rehydrates the subscription by resetting the unsubscribed flag and initializing the subscription again
21
22
  */
@@ -55,7 +56,7 @@ export declare class CoValueCoreSubscription {
55
56
  * This is the final step where we actually start receiving updates.
56
57
  */
57
58
  private subscribe;
58
- emit(value: RawCoValue | "unavailable"): void;
59
+ emit(value: RawCoValue | typeof CoValueLoadingState.UNAVAILABLE): void;
59
60
  /**
60
61
  * Unsubscribes from all active subscriptions and marks the instance as unsubscribed.
61
62
  * This prevents any further operations and ensures proper cleanup.
@@ -1 +1 @@
1
- {"version":3,"file":"CoValueCoreSubscription.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/CoValueCoreSubscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EAET,UAAU,EACX,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,aAAa,CAAC,CAAU;IAChC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,SAAS,CAAC,CAAU;gBAG1B,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,KAAK,IAAI,EACrD,SAAS,CAAC,EAAE,OAAO,EACnB,MAAM,CAAC,EAAE,gBAAgB;IAY3B;;OAEG;IACH,SAAS;IAWT;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAY/B;;;OAGG;IACH,OAAO,CAAC,WAAW;IAsBnB;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IA6BpC;;;OAGG;IACH,OAAO,CAAC,SAAS;IASjB,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,GAAG,IAAI;IAS7C;;;OAGG;IACH,WAAW,IAAI,IAAI;CAKpB"}
1
+ {"version":3,"file":"CoValueCoreSubscription.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/CoValueCoreSubscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EAET,UAAU,EACX,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,aAAa,CAAC,CAAU;IAChC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,QAAQ,CAEN;IACV,OAAO,CAAC,SAAS,CAAC,CAAU;gBAG1B,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CACR,KAAK,EAAE,UAAU,GAAG,OAAO,mBAAmB,CAAC,WAAW,KACvD,IAAI,EACT,SAAS,CAAC,EAAE,OAAO,EACnB,MAAM,CAAC,EAAE,gBAAgB;IAY3B;;OAEG;IACH,SAAS;IAWT;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAY/B;;;OAGG;IACH,OAAO,CAAC,WAAW;IAsBnB;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IA6BpC;;;OAGG;IACH,OAAO,CAAC,SAAS;IASjB,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,mBAAmB,CAAC,WAAW,GAAG,IAAI;IAStE;;;OAGG;IACH,WAAW,IAAI,IAAI;CAKpB"}
@@ -1,14 +1,15 @@
1
1
  import type { CoValue, ID } from "../internal.js";
2
+ import { CoValueLoadingState } from "./types.js";
2
3
  export declare class JazzError {
3
4
  id: ID<CoValue> | undefined;
4
- type: "unavailable" | "unauthorized";
5
+ type: typeof CoValueLoadingState.UNAVAILABLE | typeof CoValueLoadingState.UNAUTHORIZED;
5
6
  issues: JazzErrorIssue[];
6
- constructor(id: ID<CoValue> | undefined, type: "unavailable" | "unauthorized", issues: JazzErrorIssue[]);
7
+ constructor(id: ID<CoValue> | undefined, type: typeof CoValueLoadingState.UNAVAILABLE | typeof CoValueLoadingState.UNAUTHORIZED, issues: JazzErrorIssue[]);
7
8
  toString(): string;
8
9
  prependPath(item: string): JazzError;
9
10
  }
10
11
  export type JazzErrorIssue = {
11
- code: "unavailable" | "unauthorized" | "validationError";
12
+ code: typeof CoValueLoadingState.UNAVAILABLE | typeof CoValueLoadingState.UNAUTHORIZED | "validationError";
12
13
  message: string;
13
14
  params: Record<string, any>;
14
15
  path: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"JazzError.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/JazzError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAElD,qBAAa,SAAS;IAEX,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,SAAS;IAC3B,IAAI,EAAE,aAAa,GAAG,cAAc;IACpC,MAAM,EAAE,cAAc,EAAE;gBAFxB,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,SAAS,EAC3B,IAAI,EAAE,aAAa,GAAG,cAAc,EACpC,MAAM,EAAE,cAAc,EAAE;IAGjC,QAAQ;IAkBR,WAAW,CAAC,IAAI,EAAE,MAAM;CAczB;AACD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,aAAa,GAAG,cAAc,GAAG,iBAAiB,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"JazzError.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/JazzError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,SAAS;IAEX,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,SAAS;IAC3B,IAAI,EACP,OAAO,mBAAmB,CAAC,WAAW,GACtC,OAAO,mBAAmB,CAAC,YAAY;IACpC,MAAM,EAAE,cAAc,EAAE;gBAJxB,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,SAAS,EAC3B,IAAI,EACP,OAAO,mBAAmB,CAAC,WAAW,GACtC,OAAO,mBAAmB,CAAC,YAAY,EACpC,MAAM,EAAE,cAAc,EAAE;IAGjC,QAAQ;IAkBR,WAAW,CAAC,IAAI,EAAE,MAAM;CAczB;AACD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EACA,OAAO,mBAAmB,CAAC,WAAW,GACtC,OAAO,mBAAmB,CAAC,YAAY,GACvC,iBAAiB,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC"}
@@ -2,7 +2,8 @@ import type { LocalNode, RawCoValue } from "cojson";
2
2
  import { CoList, CoMap, type CoValue, type ID, type RefEncoded, type RefsToResolve } from "../internal.js";
3
3
  import { CoValueCoreSubscription } from "./CoValueCoreSubscription.js";
4
4
  import { JazzError } from "./JazzError.js";
5
- import type { BranchDefinition, SubscriptionValue, Unloaded } from "./types.js";
5
+ import type { BranchDefinition, SubscriptionValue, SubscriptionValueLoading } from "./types.js";
6
+ import { CoValueLoadingState, NotLoadedCoValueState } from "./types.js";
6
7
  export declare class SubscriptionScope<D extends CoValue> {
7
8
  node: LocalNode;
8
9
  id: ID<D>;
@@ -20,7 +21,7 @@ export declare class SubscriptionScope<D extends CoValue> {
20
21
  * Autoloaded child ids that are unloaded
21
22
  */
22
23
  pendingAutoloadedChildren: Set<string>;
23
- value: SubscriptionValue<D, any> | Unloaded;
24
+ value: SubscriptionValue<D, any> | SubscriptionValueLoading;
24
25
  childErrors: Map<string, JazzError>;
25
26
  validationErrors: Map<string, JazzError>;
26
27
  errorFromChildren: JazzError | undefined;
@@ -38,11 +39,11 @@ export declare class SubscriptionScope<D extends CoValue> {
38
39
  silenceUpdates: boolean;
39
40
  constructor(node: LocalNode, resolve: RefsToResolve<D>, id: ID<D>, schema: RefEncoded<D>, skipRetry?: boolean, bestEffortResolution?: boolean, unstable_branch?: BranchDefinition | undefined);
40
41
  updateValue(value: SubscriptionValue<D, any>): void;
41
- handleUpdate(update: RawCoValue | "unavailable"): void;
42
+ handleUpdate(update: RawCoValue | typeof CoValueLoadingState.UNAVAILABLE): void;
42
43
  computeChildErrors(): JazzError | undefined;
43
- handleChildUpdate: (id: string, value: SubscriptionValue<any, any> | Unloaded, key?: string) => void;
44
+ handleChildUpdate: (id: string, value: SubscriptionValue<any, any> | SubscriptionValueLoading, key?: string) => void;
44
45
  shouldSendUpdates(): boolean;
45
- getCurrentValue(): D | null | undefined;
46
+ getCurrentValue(): D | NotLoadedCoValueState;
46
47
  triggerUpdate(): void;
47
48
  subscribers: Set<(value: SubscriptionValue<D, any>) => void>;
48
49
  subscribe(listener: (value: SubscriptionValue<D, any>) => void): () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"SubscriptionScope.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/SubscriptionScope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubscriptionScope.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/SubscriptionScope.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAgB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,CAAC,qDA0B/D;AAED,yBAAyB;AAEzB;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAChD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,OAqBZ;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,OAAO,EAC/C,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,OAa5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAgB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,CAAC,qDA0B/D;AAED,yBAAyB;AAEzB;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAChD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,OAwBZ;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,OAAO,EAC/C,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,OAgB5B"}
@@ -1,12 +1,32 @@
1
1
  import type { Account, CoValue, Group, RefsToResolve, Resolved } from "../internal.js";
2
2
  import type { JazzError } from "./JazzError.js";
3
+ export declare const CoValueLoadingState: {
4
+ /**
5
+ * The coValue is loaded.
6
+ */
7
+ readonly LOADED: "loaded";
8
+ /**
9
+ * The coValue is being loaded.
10
+ */
11
+ readonly LOADING: "loading";
12
+ /**
13
+ * The coValue was loaded but the account is not authorized to access it.
14
+ */
15
+ readonly UNAUTHORIZED: "unauthorized";
16
+ /**
17
+ * Tried to load the coValue but failed.
18
+ */
19
+ readonly UNAVAILABLE: "unavailable";
20
+ };
21
+ export type CoValueLoadingState = (typeof CoValueLoadingState)[keyof typeof CoValueLoadingState];
22
+ export type NotLoadedCoValueState = typeof CoValueLoadingState.LOADING | typeof CoValueLoadingState.UNAUTHORIZED | typeof CoValueLoadingState.UNAVAILABLE;
3
23
  export type SubscriptionValue<D extends CoValue, R extends RefsToResolve<D>> = {
4
- type: "loaded";
24
+ type: typeof CoValueLoadingState.LOADED;
5
25
  value: Resolved<D, R>;
6
26
  id: string;
7
27
  } | JazzError;
8
- export type Unloaded = {
9
- type: "unloaded";
28
+ export type SubscriptionValueLoading = {
29
+ type: typeof CoValueLoadingState.LOADING;
10
30
  id: string;
11
31
  };
12
32
  export type BranchDefinition = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EACP,KAAK,EACL,aAAa,EACb,QAAQ,EACT,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,IACvE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACrD,SAAS,CAAC;AACd,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EACP,KAAK,EACL,aAAa,EACb,QAAQ,EACT,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,eAAO,MAAM,mBAAmB;IAC9B;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEK,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAC7B,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAEjE,MAAM,MAAM,qBAAqB,GAC7B,OAAO,mBAAmB,CAAC,OAAO,GAClC,OAAO,mBAAmB,CAAC,YAAY,GACvC,OAAO,mBAAmB,CAAC,WAAW,CAAC;AAE3C,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,IACvE;IACE,IAAI,EAAE,OAAO,mBAAmB,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ,GACD,SAAS,CAAC;AACd,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,OAAO,mBAAmB,CAAC,OAAO,CAAC;IACzC,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI,CAAA;CAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEtD,OAAO,EACL,OAAO,EACP,UAAU,EAGX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAUnE;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAC7C,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAClB,GAAG,EAAE,UAAU,EACf,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;EAgBxC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEtD,OAAO,EACL,OAAO,EACP,UAAU,EAGX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAUnE;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAC7C,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAClB,GAAG,EAAE,UAAU,EACf,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;EAgBxC"}
@@ -1,6 +1,7 @@
1
1
  import { LocalNode } from "cojson";
2
2
  import { PureJSCrypto } from "cojson/dist/crypto/PureJSCrypto";
3
- import { Account, AccountClass, type AnonymousJazzAgent, CoValueFromRaw, CoreAccountSchema, InstanceOfSchema, JazzContextManager, JazzContextManagerAuthProps, JazzContextManagerBaseProps } from "./internal.js";
3
+ import { Account, AccountClass, type AnonymousJazzAgent, CoValueFromRaw, CoreAccountSchema, InstanceOfSchema, JazzContextManager, JazzContextManagerAuthProps, JazzContextManagerBaseProps, CoValue } from "./internal.js";
4
+ export { assertLoaded } from "./lib/utils.js";
4
5
  export declare class TestJSCrypto extends PureJSCrypto {
5
6
  static create(): Promise<PureJSCrypto>;
6
7
  }
@@ -49,7 +50,7 @@ export declare class TestJazzContextManager<Acc extends Account> extends JazzCon
49
50
  fromNode: (typeof Account)["fromNode"];
50
51
  } & CoValueFromRaw<Acc> extends infer T ? T extends import("./internal.js").CoValueClass<Acc> & {
51
52
  fromNode: (typeof Account)["fromNode"];
52
- } & CoValueFromRaw<Acc> ? T extends import("./internal.js").CoValueClass<import("./internal.js").CoValue> ? InstanceType<T> : never : never : never;
53
+ } & CoValueFromRaw<Acc> ? T extends import("./internal.js").CoValueClass<CoValue> ? InstanceType<T> : never : never : never;
53
54
  node: LocalNode;
54
55
  done: () => void;
55
56
  logOut: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/tools/testing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/tools/testing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema.resolved.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.resolved.test.d.ts","sourceRoot":"","sources":["../../../src/tools/tests/schema.resolved.test.ts"],"names":[],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  import { AccountClass } from "../coValues/account";
2
2
  import { CoID, LocalNode, RawCoValue } from "cojson";
3
3
  import { Account } from "../index";
4
- import { CoValueFromRaw } from "../internal";
4
+ import { CoValue, CoValueFromRaw, MaybeLoaded, LoadedAndRequired } from "../internal";
5
5
  export declare function setupAccount(): Promise<{
6
6
  me: import("../internal").ControlledAccount;
7
7
  meOnSecondPeer: Account | ({
@@ -18,4 +18,5 @@ export declare function setupTwoNodes(options?: {
18
18
  }>;
19
19
  export declare function waitFor(callback: () => boolean | void | Promise<boolean | void>): Promise<void>;
20
20
  export declare function loadCoValueOrFail<V extends RawCoValue>(node: LocalNode, id: CoID<V>): Promise<V>;
21
+ export declare function assertLoaded<T extends MaybeLoaded<CoValue>>(coValue: T): asserts coValue is LoadedAndRequired<T>;
21
22
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tools/tests/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuB,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGrD,OAAO,EACL,OAAO,EAGR,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7C,wBAAsB,YAAY;;;;;GAgCjC;AAED,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE;IAC5C,mBAAmB,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;CACvE;;;;;GAgDA;AAED,wBAAgB,OAAO,CACrB,QAAQ,EAAE,MAAM,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,iBA2BzD;AAED,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAC1D,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GACV,OAAO,CAAC,CAAC,CAAC,CAMZ"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tools/tests/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAuB,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGrD,OAAO,EACL,OAAO,EAGR,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,OAAO,EACP,cAAc,EAEd,WAAW,EACX,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAIrB,wBAAsB,YAAY;;;;;GAgCjC;AAED,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE;IAC5C,mBAAmB,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;CACvE;;;;;GAgDA;AAED,wBAAgB,OAAO,CACrB,QAAQ,EAAE,MAAM,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,iBA2BzD;AAED,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAC1D,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GACV,OAAO,CAAC,CAAC,CAAC,CAMZ;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,CAAC,OAAO,CAAC,EACzD,OAAO,EAAE,CAAC,GACT,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAEzC"}
package/package.json CHANGED
@@ -187,7 +187,7 @@
187
187
  },
188
188
  "type": "module",
189
189
  "license": "MIT",
190
- "version": "0.18.38",
190
+ "version": "0.19.0",
191
191
  "dependencies": {
192
192
  "@manuscripts/prosemirror-recreate-steps": "^0.1.4",
193
193
  "@scure/base": "1.2.1",
@@ -204,9 +204,9 @@
204
204
  "prosemirror-transform": "^1.9.0",
205
205
  "use-sync-external-store": "^1.5.0",
206
206
  "zod": "4.1.11",
207
- "cojson": "0.18.38",
208
- "cojson-storage-indexeddb": "0.18.38",
209
- "cojson-transport-ws": "0.18.38"
207
+ "cojson": "0.19.0",
208
+ "cojson-storage-indexeddb": "0.19.0",
209
+ "cojson-transport-ws": "0.19.0"
210
210
  },
211
211
  "devDependencies": {
212
212
  "@scure/bip39": "^1.3.0",
@@ -80,7 +80,7 @@ export const JazzBetterAuthDatabaseAdapter = (
80
80
 
81
81
  let worker: Account | undefined = undefined;
82
82
 
83
- async function getWorker() {
83
+ async function getWorker(): Promise<Account> {
84
84
  if (worker) {
85
85
  return worker;
86
86
  }
@@ -96,7 +96,7 @@ export const JazzBetterAuthDatabaseAdapter = (
96
96
 
97
97
  worker = result.worker;
98
98
 
99
- return worker;
99
+ return result.worker;
100
100
  }
101
101
 
102
102
  async function initRepository(
@@ -45,7 +45,7 @@ export class AccountRepository extends JazzRepository {
45
45
  if (isWhereBySingleField(this.getAccountIdProperty(), where)) {
46
46
  const accountIdIndex = await this.getAccountIdIndex(where[0].value);
47
47
 
48
- const ids = accountIdIndex ?? [];
48
+ const ids = accountIdIndex.$isLoaded ? accountIdIndex : [];
49
49
 
50
50
  if (ids.length === 0) {
51
51
  return [];
@@ -102,7 +102,7 @@ export class AccountRepository extends JazzRepository {
102
102
  private async updateAccountIdIndex(accountId: string, entityId: string) {
103
103
  const accountIdIndex = await this.getAccountIdIndex(accountId);
104
104
 
105
- const ids = accountIdIndex ?? [];
105
+ const ids = accountIdIndex.$isLoaded ? accountIdIndex : [];
106
106
 
107
107
  await AccountIdIndex.upsertUnique({
108
108
  value: [...ids, entityId],
@@ -114,7 +114,7 @@ export class AccountRepository extends JazzRepository {
114
114
  private async deleteAccountIdIndex(accountId: string, entityId: string) {
115
115
  const accountIdIndex = await this.getAccountIdIndex(accountId);
116
116
 
117
- const ids = accountIdIndex ?? [];
117
+ const ids = accountIdIndex.$isLoaded ? accountIdIndex : [];
118
118
 
119
119
  await AccountIdIndex.upsertUnique({
120
120
  value: ids.filter((id) => id !== entityId),
@@ -80,16 +80,19 @@ export class JazzRepository {
80
80
  }
81
81
 
82
82
  // If we have a unique id, we must check for soft deleted items first
83
- const existingNode = (await schema.loadUnique(
83
+ const existingNode = await schema.loadUnique(
84
84
  uniqueId,
85
85
  list.$jazz.owner.$jazz.id,
86
86
  {
87
87
  loadAs: this.worker,
88
88
  },
89
- )) as CoMap | null;
89
+ );
90
90
 
91
91
  // if the entity exists and is not soft deleted, we must throw an error
92
- if (existingNode && existingNode.$jazz?.raw.get("_deleted") !== true) {
92
+ if (
93
+ existingNode.$isLoaded &&
94
+ existingNode.$jazz.raw.get("_deleted") !== true
95
+ ) {
93
96
  throw new Error("Entity already exists");
94
97
  }
95
98
 
@@ -103,7 +106,7 @@ export class JazzRepository {
103
106
  unique: uniqueId,
104
107
  });
105
108
 
106
- if (!node) {
109
+ if (!node.$isLoaded) {
107
110
  throw new Error("Unable to create entity");
108
111
  }
109
112
 
@@ -131,7 +134,7 @@ export class JazzRepository {
131
134
 
132
135
  const node = await this.getSchema(model).load(id, { loadAs: this.worker });
133
136
 
134
- if (!node) {
137
+ if (!node.$isLoaded) {
135
138
  return null;
136
139
  }
137
140
 
@@ -156,7 +159,7 @@ export class JazzRepository {
156
159
  },
157
160
  );
158
161
 
159
- if (!node) {
162
+ if (!node.$isLoaded) {
160
163
  return null;
161
164
  }
162
165
 
@@ -27,7 +27,7 @@ export class UserRepository extends JazzRepository {
27
27
 
28
28
  const emailIndex = await this.loadEmailIndex(userEmail);
29
29
 
30
- if (emailIndex?.user) {
30
+ if (emailIndex.$isLoaded && emailIndex.user) {
31
31
  throw new Error("Email already exists");
32
32
  }
33
33
 
@@ -68,7 +68,11 @@ export class UserRepository extends JazzRepository {
68
68
  private async findByEmail(email: string): Promise<TableItem[]> {
69
69
  const emailIndex = await this.loadEmailIndex(email);
70
70
 
71
- const user = emailIndex?.user;
71
+ if (!emailIndex.$isLoaded) {
72
+ return [];
73
+ }
74
+
75
+ const user = emailIndex.user;
72
76
 
73
77
  if (!user) {
74
78
  return [];
@@ -55,7 +55,7 @@ export function createJazzSchema(schema: BetterAuthDbSchema): JazzSchema {
55
55
  },
56
56
  );
57
57
 
58
- if (!dbRoot) {
58
+ if (!dbRoot.$isLoaded) {
59
59
  // Create a group for the first time
60
60
  // it will be the owner of the all tables and data
61
61
  const adminGroup = Group.create({ owner: account });
@@ -16,6 +16,7 @@ import { startWorker } from "jazz-tools/worker";
16
16
  import { createWorkerAccount, startSyncServer } from "./sync-utils.js";
17
17
  import { JazzBetterAuthDatabaseAdapter } from "../index.js";
18
18
  import { TableItem } from "../schema.js";
19
+ import { assertLoaded } from "jazz-tools/testing";
19
20
 
20
21
  describe("JazzBetterAuthDatabaseAdapter tests", async () => {
21
22
  describe("better-auth internal tests", async () => {
@@ -197,9 +198,7 @@ describe("JazzBetterAuthDatabaseAdapter tests", async () => {
197
198
  },
198
199
  });
199
200
 
200
- assert(db);
201
- assert(db.group);
202
- assert(db.tables);
201
+ assertLoaded(db);
203
202
 
204
203
  // Create a new worker account
205
204
  const newWorkerAccount = await createWorkerAccount({
@@ -208,7 +207,7 @@ describe("JazzBetterAuthDatabaseAdapter tests", async () => {
208
207
  });
209
208
 
210
209
  const newWorkerRef = await Account.load(newWorkerAccount.accountID);
211
- assert(newWorkerRef);
210
+ assertLoaded(newWorkerRef);
212
211
 
213
212
  // Add the new worker to the group
214
213
  db.group.addMember(newWorkerRef, "admin");
@@ -1,6 +1,10 @@
1
1
  // @vitest-environment happy-dom
2
2
  import { afterEach, assert, beforeAll, describe, expect, it } from "vitest";
3
- import { createJazzTestAccount, setupJazzTestSync } from "jazz-tools/testing";
3
+ import {
4
+ assertLoaded,
5
+ createJazzTestAccount,
6
+ setupJazzTestSync,
7
+ } from "jazz-tools/testing";
4
8
  import { co, z } from "jazz-tools";
5
9
  import {
6
10
  cleanup,
@@ -113,7 +117,7 @@ describe("HistoryView", async () => {
113
117
  const valueOnAccount2 = await Schema.load(value.$jazz.id, {
114
118
  loadAs: account2,
115
119
  });
116
- assert(valueOnAccount2);
120
+ assertLoaded(valueOnAccount2);
117
121
 
118
122
  // This is invalid, since account2 is a reader
119
123
  valueOnAccount2.$jazz.set("pet", "cat");
@@ -253,6 +253,11 @@ describe("loadImageBySize", async () => {
253
253
  return imageDef;
254
254
  };
255
255
 
256
+ it("return null if the image cannot be loaded", async () => {
257
+ const result = await loadImageBySize("invalid-id", 256, 256);
258
+ expect(result).toBeNull();
259
+ });
260
+
256
261
  it("returns original if progressive is false", async () => {
257
262
  const imageDef = await createImageDef([[1920, 1080]], false);
258
263
  const result = await loadImageBySize(imageDef, 256, 256);
@@ -1,5 +1,5 @@
1
1
  import type { CoID } from "cojson";
2
- import { Account, FileStream, ImageDefinition } from "jazz-tools";
2
+ import { Account, FileStream, ImageDefinition, MaybeLoaded } from "jazz-tools";
3
3
 
4
4
  export function highestResAvailable(
5
5
  image: ImageDefinition,
@@ -15,7 +15,7 @@ export function highestResAvailable(
15
15
  });
16
16
 
17
17
  if (availableSizes.length === 0) {
18
- return image.original
18
+ return image.original.$isLoaded
19
19
  ? {
20
20
  width: image.originalSize[0],
21
21
  height: image.originalSize[1],
@@ -40,19 +40,20 @@ export function highestResAvailable(
40
40
  // note: `toReversed` is not available in react-native.
41
41
  const bestLoaded = [...sortedSizes]
42
42
  .reverse()
43
- .find((el) => el.isLoaded && image[el.size[2]]?.getChunks());
43
+ .find((el) => el.isLoaded && getImageChunks(image[el.size[2]]));
44
44
 
45
45
  // if I can't find a good match, let's use the highest resolution
46
46
  const bestTarget =
47
47
  sortedSizes.find((el) => el.match > 0.95) || sortedSizes.at(-1);
48
48
 
49
49
  // if the best target is already loaded, we are done
50
- if (image[bestTarget!.size[2]]?.getChunks()) {
51
- return image[bestTarget!.size[2]]
50
+ const bestTargetImage = image[bestTarget!.size[2]];
51
+ if (getImageChunks(bestTargetImage)) {
52
+ return bestTargetImage?.$isLoaded
52
53
  ? {
53
54
  width: bestTarget!.size[0],
54
55
  height: bestTarget!.size[1],
55
- image: image[bestTarget!.size[2]]!,
56
+ image: bestTargetImage,
56
57
  }
57
58
  : null;
58
59
  }
@@ -60,12 +61,13 @@ export function highestResAvailable(
60
61
  // if the best already loaded is not the best target
61
62
  // let's trigger the load of the best target
62
63
  if (bestLoaded) {
63
- image[bestTarget!.size[2]]?.getChunks();
64
- return image[bestLoaded.size[2]]
64
+ getImageChunks(bestTargetImage);
65
+ const bestLoadedImage = image[bestLoaded.size[2]];
66
+ return bestLoadedImage?.$isLoaded
65
67
  ? {
66
68
  width: bestLoaded.size[0],
67
69
  height: bestLoaded.size[1],
68
- image: image[bestLoaded.size[2]]!,
70
+ image: bestLoadedImage,
69
71
  }
70
72
  : null;
71
73
  }
@@ -73,13 +75,20 @@ export function highestResAvailable(
73
75
  // if nothing is loaded, then start fetching all the images till the best
74
76
  for (let size of sortedSizes) {
75
77
  if (size.match <= bestTarget!.match) {
76
- image[size.size[2]]?.getChunks();
78
+ getImageChunks(image[size.size[2]]);
77
79
  }
78
80
  }
79
81
 
80
82
  return null;
81
83
  }
82
84
 
85
+ function getImageChunks(file: MaybeLoaded<FileStream> | undefined) {
86
+ if (!file || !file.$isLoaded) {
87
+ return undefined;
88
+ }
89
+ return file.getChunks();
90
+ }
91
+
83
92
  function sizesMatchWanted(
84
93
  w: number,
85
94
  h: number,
@@ -117,7 +126,7 @@ export async function loadImage(
117
126
  },
118
127
  });
119
128
 
120
- if (image === null || image.original === null) {
129
+ if (!image.$isLoaded) {
121
130
  return null;
122
131
  }
123
132
 
@@ -128,14 +137,14 @@ export async function loadImage(
128
137
  };
129
138
  }
130
139
 
131
- if (!imageOrId.original) {
140
+ if (!imageOrId.original.$isLoaded) {
132
141
  console.warn("Unable to find the original image");
133
142
  return null;
134
143
  }
135
144
 
136
145
  const loadedOriginal = await FileStream.load(imageOrId.original.$jazz.id);
137
146
 
138
- if (!loadedOriginal) {
147
+ if (!loadedOriginal.$isLoaded) {
139
148
  console.warn("Unable to find the original image");
140
149
  return null;
141
150
  }
@@ -153,12 +162,12 @@ export async function loadImageBySize(
153
162
  wantedHeight: number,
154
163
  ): Promise<{ width: number; height: number; image: FileStream } | null> {
155
164
  // @ts-expect-error The resolved type for CoMap does not include catchall properties
156
- const image: ImageDefinition | null =
165
+ const image: MaybeLoaded<ImageDefinition> =
157
166
  typeof imageOrId === "string"
158
167
  ? await ImageDefinition.load(imageOrId)
159
168
  : imageOrId;
160
169
 
161
- if (image === null) {
170
+ if (image.$isLoaded === false) {
162
171
  return null;
163
172
  }
164
173
 
@@ -200,7 +209,7 @@ export async function loadImageBySize(
200
209
 
201
210
  const loadedFile = await FileStream.load(file.id);
202
211
 
203
- if (!loadedFile) {
212
+ if (!loadedFile.$isLoaded) {
204
213
  return null;
205
214
  }
206
215
 
@@ -50,8 +50,8 @@ export {
50
50
  experimental_useInboxSender,
51
51
  useJazzContext,
52
52
  useAccount,
53
- useCoStateWithSelector,
54
- useAccountWithSelector,
53
+ useAgent,
54
+ useLogOut,
55
55
  useSyncConnectionStatus,
56
56
  useCoValueSubscription,
57
57
  useAccountSubscription,
@@ -7,8 +7,8 @@ export {
7
7
  experimental_useInboxSender,
8
8
  useJazzContext,
9
9
  useAuthSecretStorage,
10
- useCoStateWithSelector,
11
- useAccountWithSelector,
10
+ useAgent,
11
+ useLogOut,
12
12
  useSyncConnectionStatus,
13
13
  useCoValueSubscription,
14
14
  useAccountSubscription,
@@ -1,4 +1,4 @@
1
- import { ImageDefinition } from "jazz-tools";
1
+ import { CoValueLoadingState, ImageDefinition } from "jazz-tools";
2
2
  import {
3
3
  type JSX,
4
4
  forwardRef,
@@ -87,7 +87,15 @@ export const Image = forwardRef<HTMLImageElement, ImageProps>(function Image(
87
87
  { imageId, width, height, ...props },
88
88
  ref,
89
89
  ) {
90
- const image = useCoState(ImageDefinition, imageId);
90
+ const image = useCoState(ImageDefinition, imageId, {
91
+ select: (image) => {
92
+ if (image.$isLoaded) {
93
+ return image;
94
+ } else if (image.$jazz.loadingState === CoValueLoadingState.LOADING) {
95
+ return undefined;
96
+ } else return null;
97
+ },
98
+ });
91
99
  const lastBestImage = useRef<[string, string] | null>(null);
92
100
 
93
101
  /**
@@ -1,6 +1,7 @@
1
1
  // @vitest-environment happy-dom
2
2
 
3
3
  import { CoMap, Group, ID, co, coField, z } from "jazz-tools";
4
+ import { assertLoaded } from "jazz-tools/testing";
4
5
  import { describe, expect, it } from "vitest";
5
6
  import { createInviteLink, useAcceptInvite } from "../index.js";
6
7
  import { createJazzTestAccount, linkAccounts } from "../testing.js";
@@ -50,6 +51,7 @@ describe("useAcceptInvite", () => {
50
51
  loadAs: account,
51
52
  });
52
53
 
53
- expect(accepted?.value).toEqual("hello");
54
+ assertLoaded(accepted);
55
+ expect(accepted.value).toEqual("hello");
54
56
  });
55
57
  });