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
@@ -4,26 +4,38 @@ import {
4
4
  BranchDefinition,
5
5
  CoFeed,
6
6
  Group,
7
+ MaybeLoaded,
7
8
  RefsToResolve,
8
9
  RefsToResolveStrict,
9
10
  Resolved,
10
11
  SubscribeListenerOptions,
11
12
  coOptionalDefiner,
13
+ parseSubscribeRestArgs,
12
14
  unstable_mergeBranchWithResolve,
13
15
  } from "../../../internal.js";
14
16
  import { AnonymousJazzAgent } from "../../anonymousJazzAgent.js";
15
17
  import { CoFeedSchemaInit } from "../typeConverters/CoFieldSchemaInit.js";
16
18
  import { InstanceOrPrimitiveOfSchema } from "../typeConverters/InstanceOrPrimitiveOfSchema.js";
17
- import { InstanceOrPrimitiveOfSchemaCoValuesNullable } from "../typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.js";
19
+ import { InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded } from "../typeConverters/InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded.js";
18
20
  import { CoOptionalSchema } from "./CoOptionalSchema.js";
19
- import { CoreCoValueSchema } from "./CoValueSchema.js";
21
+ import { CoreCoValueSchema, CoreResolveQuery } from "./CoValueSchema.js";
22
+ import { withSchemaResolveQuery } from "../../schemaUtils.js";
20
23
 
21
- export class CoFeedSchema<T extends AnyZodOrCoValueSchema>
22
- implements CoreCoFeedSchema<T>
24
+ export class CoFeedSchema<
25
+ T extends AnyZodOrCoValueSchema,
26
+ DefaultResolveQuery extends CoreResolveQuery = true,
27
+ > implements CoreCoFeedSchema<T>
23
28
  {
24
29
  collaborative = true as const;
25
30
  builtin = "CoFeed" as const;
26
31
 
32
+ /**
33
+ * Default resolve query to be used when loading instances of this schema.
34
+ * This resolve query will be used when no resolve query is provided to the load method.
35
+ * @default true
36
+ */
37
+ resolveQuery: DefaultResolveQuery = true as DefaultResolveQuery;
38
+
27
39
  constructor(
28
40
  public element: T,
29
41
  private coValueClass: typeof CoFeed,
@@ -45,52 +57,76 @@ export class CoFeedSchema<T extends AnyZodOrCoValueSchema>
45
57
  return this.coValueClass.create(init as any, options) as CoFeedInstance<T>;
46
58
  }
47
59
 
48
- load<const R extends RefsToResolve<CoFeedInstanceCoValuesNullable<T>> = true>(
60
+ load<
61
+ const R extends RefsToResolve<
62
+ CoFeedInstanceCoValuesMaybeLoaded<T>
63
+ // @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is
64
+ > = DefaultResolveQuery,
65
+ >(
49
66
  id: string,
50
67
  options?: {
51
- resolve?: RefsToResolveStrict<CoFeedInstanceCoValuesNullable<T>, R>;
68
+ resolve?: RefsToResolveStrict<CoFeedInstanceCoValuesMaybeLoaded<T>, R>;
52
69
  loadAs?: Account | AnonymousJazzAgent;
53
70
  unstable_branch?: BranchDefinition;
54
71
  },
55
- ): Promise<Resolved<CoFeedInstanceCoValuesNullable<T>, R> | null> {
72
+ ): Promise<MaybeLoaded<Resolved<CoFeedInstanceCoValuesMaybeLoaded<T>, R>>> {
56
73
  // @ts-expect-error
57
- return this.coValueClass.load(id, options);
74
+ return this.coValueClass.load(
75
+ id,
76
+ // @ts-expect-error
77
+ withSchemaResolveQuery(options, this.resolveQuery),
78
+ );
58
79
  }
59
80
 
60
81
  unstable_merge<
61
- const R extends RefsToResolve<CoFeedInstanceCoValuesNullable<T>> = true,
82
+ const R extends RefsToResolve<
83
+ CoFeedInstanceCoValuesMaybeLoaded<T>
84
+ // @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is
85
+ > = DefaultResolveQuery,
62
86
  >(
63
87
  id: string,
64
- options?: {
65
- resolve?: RefsToResolveStrict<CoFeedInstanceCoValuesNullable<T>, R>;
88
+ options: {
89
+ resolve?: RefsToResolveStrict<CoFeedInstanceCoValuesMaybeLoaded<T>, R>;
66
90
  loadAs?: Account | AnonymousJazzAgent;
67
91
  branch: BranchDefinition;
68
92
  },
69
93
  ): Promise<void> {
70
- // @ts-expect-error
71
- return unstable_mergeBranchWithResolve(this.coValueClass, id, options);
94
+ return unstable_mergeBranchWithResolve(
95
+ this.coValueClass,
96
+ id,
97
+ // @ts-expect-error
98
+ withSchemaResolveQuery(options, this.resolveQuery),
99
+ );
72
100
  }
73
101
 
74
102
  subscribe(
75
103
  id: string,
76
104
  listener: (
77
- value: Resolved<CoFeedInstanceCoValuesNullable<T>, true>,
105
+ value: Resolved<CoFeedInstanceCoValuesMaybeLoaded<T>, true>,
78
106
  unsubscribe: () => void,
79
107
  ) => void,
80
108
  ): () => void;
81
109
  subscribe<
82
- const R extends RefsToResolve<CoFeedInstanceCoValuesNullable<T>> = true,
110
+ const R extends RefsToResolve<
111
+ CoFeedInstanceCoValuesMaybeLoaded<T>
112
+ // @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is
113
+ > = DefaultResolveQuery,
83
114
  >(
84
115
  id: string,
85
- options: SubscribeListenerOptions<CoFeedInstanceCoValuesNullable<T>, R>,
116
+ options: SubscribeListenerOptions<CoFeedInstanceCoValuesMaybeLoaded<T>, R>,
86
117
  listener: (
87
- value: Resolved<CoFeedInstanceCoValuesNullable<T>, R>,
118
+ value: Resolved<CoFeedInstanceCoValuesMaybeLoaded<T>, R>,
88
119
  unsubscribe: () => void,
89
120
  ) => void,
90
121
  ): () => void;
91
- subscribe(...args: [any, ...any[]]) {
92
- // @ts-expect-error
93
- return this.coValueClass.subscribe(...args);
122
+ subscribe(id: string, ...args: any) {
123
+ const { options, listener } = parseSubscribeRestArgs(args);
124
+ return this.coValueClass.subscribe(
125
+ id,
126
+ // @ts-expect-error
127
+ withSchemaResolveQuery(options, this.resolveQuery),
128
+ listener,
129
+ );
94
130
  }
95
131
 
96
132
  getCoValueClass(): typeof CoFeed {
@@ -100,6 +136,20 @@ export class CoFeedSchema<T extends AnyZodOrCoValueSchema>
100
136
  optional(): CoOptionalSchema<this> {
101
137
  return coOptionalDefiner(this);
102
138
  }
139
+
140
+ /**
141
+ * Adds a default resolve query to be used when loading instances of this schema.
142
+ * This resolve query will be used when no resolve query is provided to the load method.
143
+ */
144
+ resolved<
145
+ const R extends RefsToResolve<CoFeedInstanceCoValuesMaybeLoaded<T>> = true,
146
+ >(
147
+ resolveQuery: RefsToResolveStrict<CoFeedInstanceCoValuesMaybeLoaded<T>, R>,
148
+ ): CoFeedSchema<T, R> {
149
+ const copy = new CoFeedSchema<T, R>(this.element, this.coValueClass);
150
+ copy.resolveQuery = resolveQuery as R;
151
+ return copy;
152
+ }
103
153
  }
104
154
 
105
155
  export function createCoreCoFeedSchema<T extends AnyZodOrCoValueSchema>(
@@ -109,6 +159,7 @@ export function createCoreCoFeedSchema<T extends AnyZodOrCoValueSchema>(
109
159
  collaborative: true as const,
110
160
  builtin: "CoFeed" as const,
111
161
  element,
162
+ resolveQuery: true as const,
112
163
  };
113
164
  }
114
165
 
@@ -124,5 +175,5 @@ export type CoFeedInstance<T extends AnyZodOrCoValueSchema> = CoFeed<
124
175
  InstanceOrPrimitiveOfSchema<T>
125
176
  >;
126
177
 
127
- export type CoFeedInstanceCoValuesNullable<T extends AnyZodOrCoValueSchema> =
128
- CoFeed<InstanceOrPrimitiveOfSchemaCoValuesNullable<T>>;
178
+ export type CoFeedInstanceCoValuesMaybeLoaded<T extends AnyZodOrCoValueSchema> =
179
+ CoFeed<InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded<T>>;
@@ -4,6 +4,7 @@ import {
4
4
  CoList,
5
5
  Group,
6
6
  ID,
7
+ MaybeLoaded,
7
8
  RefsToResolve,
8
9
  RefsToResolveStrict,
9
10
  Resolved,
@@ -15,17 +16,27 @@ import { CoValueUniqueness } from "cojson";
15
16
  import { AnonymousJazzAgent } from "../../anonymousJazzAgent.js";
16
17
  import { CoListSchemaInit } from "../typeConverters/CoFieldSchemaInit.js";
17
18
  import { InstanceOrPrimitiveOfSchema } from "../typeConverters/InstanceOrPrimitiveOfSchema.js";
18
- import { InstanceOrPrimitiveOfSchemaCoValuesNullable } from "../typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.js";
19
+ import { InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded } from "../typeConverters/InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded.js";
19
20
  import { AnyZodOrCoValueSchema } from "../zodSchema.js";
20
21
  import { CoOptionalSchema } from "./CoOptionalSchema.js";
21
- import { CoreCoValueSchema } from "./CoValueSchema.js";
22
+ import { CoreCoValueSchema, CoreResolveQuery } from "./CoValueSchema.js";
23
+ import { withSchemaResolveQuery } from "../../schemaUtils.js";
22
24
 
23
- export class CoListSchema<T extends AnyZodOrCoValueSchema>
24
- implements CoreCoListSchema<T>
25
+ export class CoListSchema<
26
+ T extends AnyZodOrCoValueSchema,
27
+ DefaultResolveQuery extends CoreResolveQuery = true,
28
+ > implements CoreCoListSchema<T>
25
29
  {
26
30
  collaborative = true as const;
27
31
  builtin = "CoList" as const;
28
32
 
33
+ /**
34
+ * Default resolve query to be used when loading instances of this schema.
35
+ * This resolve query will be used when no resolve query is provided to the load method.
36
+ * @default true
37
+ */
38
+ resolveQuery: DefaultResolveQuery = true as DefaultResolveQuery;
39
+
29
40
  constructor(
30
41
  public element: T,
31
42
  private coValueClass: typeof CoList,
@@ -55,43 +66,63 @@ export class CoListSchema<T extends AnyZodOrCoValueSchema>
55
66
  return this.coValueClass.create(items as any, options) as CoListInstance<T>;
56
67
  }
57
68
 
58
- load<const R extends RefsToResolve<CoListInstanceCoValuesNullable<T>> = true>(
69
+ load<
70
+ const R extends RefsToResolve<
71
+ CoListInstanceCoValuesMaybeLoaded<T>
72
+ > = DefaultResolveQuery,
73
+ >(
59
74
  id: string,
60
75
  options?: {
61
- resolve?: RefsToResolveStrict<CoListInstanceCoValuesNullable<T>, R>;
76
+ resolve?: RefsToResolveStrict<CoListInstanceCoValuesMaybeLoaded<T>, R>;
62
77
  loadAs?: Account | AnonymousJazzAgent;
63
78
  unstable_branch?: BranchDefinition;
64
79
  },
65
- ): Promise<Resolved<CoListInstanceCoValuesNullable<T>, R> | null> {
80
+ ): Promise<MaybeLoaded<Resolved<CoListInstanceCoValuesMaybeLoaded<T>, R>>> {
66
81
  // @ts-expect-error
67
- return this.coValueClass.load(id, options);
82
+ return this.coValueClass.load(
83
+ id,
84
+ // @ts-expect-error
85
+ withSchemaResolveQuery(options, this.resolveQuery),
86
+ );
68
87
  }
69
88
 
70
89
  unstable_merge<
71
- const R extends RefsToResolve<CoListInstanceCoValuesNullable<T>> = true,
90
+ const R extends RefsToResolve<
91
+ CoListInstanceCoValuesMaybeLoaded<T>
92
+ > = DefaultResolveQuery,
72
93
  >(
73
94
  id: string,
74
- options?: {
75
- resolve?: RefsToResolveStrict<CoListInstanceCoValuesNullable<T>, R>;
95
+ options: {
96
+ resolve?: RefsToResolveStrict<CoListInstanceCoValuesMaybeLoaded<T>, R>;
76
97
  loadAs?: Account | AnonymousJazzAgent;
77
98
  branch: BranchDefinition;
78
99
  },
79
100
  ): Promise<void> {
80
- // @ts-expect-error
81
- return unstable_mergeBranchWithResolve(this.coValueClass, id, options);
101
+ return unstable_mergeBranchWithResolve(
102
+ this.coValueClass,
103
+ id,
104
+ // @ts-expect-error
105
+ withSchemaResolveQuery(options, this.resolveQuery),
106
+ );
82
107
  }
83
108
 
84
109
  subscribe<
85
- const R extends RefsToResolve<CoListInstanceCoValuesNullable<T>> = true,
110
+ const R extends RefsToResolve<
111
+ CoListInstanceCoValuesMaybeLoaded<T>
112
+ > = DefaultResolveQuery,
86
113
  >(
87
114
  id: string,
88
- options: SubscribeListenerOptions<CoListInstanceCoValuesNullable<T>, R>,
115
+ options: SubscribeListenerOptions<CoListInstanceCoValuesMaybeLoaded<T>, R>,
89
116
  listener: (
90
- value: Resolved<CoListInstanceCoValuesNullable<T>, R>,
117
+ value: Resolved<CoListInstanceCoValuesMaybeLoaded<T>, R>,
91
118
  unsubscribe: () => void,
92
119
  ) => void,
93
120
  ): () => void {
94
- return this.coValueClass.subscribe(id, options, listener);
121
+ return this.coValueClass.subscribe(
122
+ id,
123
+ withSchemaResolveQuery(options, this.resolveQuery),
124
+ listener,
125
+ );
95
126
  }
96
127
 
97
128
  getCoValueClass(): typeof CoList {
@@ -103,39 +134,65 @@ export class CoListSchema<T extends AnyZodOrCoValueSchema>
103
134
  unique: CoValueUniqueness["uniqueness"],
104
135
  ownerID: ID<Account> | ID<Group>,
105
136
  as?: Account | Group | AnonymousJazzAgent,
106
- ): ID<CoListInstanceCoValuesNullable<T>> {
137
+ ): ID<CoListInstanceCoValuesMaybeLoaded<T>> {
107
138
  return this.coValueClass.findUnique(unique, ownerID, as);
108
139
  }
109
140
 
110
141
  upsertUnique<
111
- const R extends RefsToResolve<CoListInstanceCoValuesNullable<T>> = true,
142
+ const R extends RefsToResolve<
143
+ CoListInstanceCoValuesMaybeLoaded<T>
144
+ > = DefaultResolveQuery,
112
145
  >(options: {
113
146
  value: CoListSchemaInit<T>;
114
147
  unique: CoValueUniqueness["uniqueness"];
115
148
  owner: Account | Group;
116
- resolve?: RefsToResolveStrict<CoListInstanceCoValuesNullable<T>, R>;
117
- }): Promise<Resolved<CoListInstanceCoValuesNullable<T>, R> | null> {
149
+ resolve?: RefsToResolveStrict<CoListInstanceCoValuesMaybeLoaded<T>, R>;
150
+ }): Promise<MaybeLoaded<Resolved<CoListInstanceCoValuesMaybeLoaded<T>, R>>> {
118
151
  // @ts-expect-error
119
- return this.coValueClass.upsertUnique(options);
152
+ return this.coValueClass.upsertUnique(
153
+ // @ts-expect-error
154
+ withSchemaResolveQuery(options, this.resolveQuery),
155
+ );
120
156
  }
121
157
 
122
158
  loadUnique<
123
- const R extends RefsToResolve<CoListInstanceCoValuesNullable<T>> = true,
159
+ const R extends RefsToResolve<
160
+ CoListInstanceCoValuesMaybeLoaded<T>
161
+ > = DefaultResolveQuery,
124
162
  >(
125
163
  unique: CoValueUniqueness["uniqueness"],
126
164
  ownerID: ID<Account> | ID<Group>,
127
165
  options?: {
128
- resolve?: RefsToResolveStrict<CoListInstanceCoValuesNullable<T>, R>;
166
+ resolve?: RefsToResolveStrict<CoListInstanceCoValuesMaybeLoaded<T>, R>;
129
167
  loadAs?: Account | AnonymousJazzAgent;
130
168
  },
131
- ): Promise<Resolved<CoListInstanceCoValuesNullable<T>, R> | null> {
169
+ ): Promise<MaybeLoaded<Resolved<CoListInstanceCoValuesMaybeLoaded<T>, R>>> {
132
170
  // @ts-expect-error
133
- return this.coValueClass.loadUnique(unique, ownerID, options);
171
+ return this.coValueClass.loadUnique(
172
+ unique,
173
+ ownerID,
174
+ // @ts-expect-error
175
+ withSchemaResolveQuery(options, this.resolveQuery),
176
+ );
134
177
  }
135
178
 
136
179
  optional(): CoOptionalSchema<this> {
137
180
  return coOptionalDefiner(this);
138
181
  }
182
+
183
+ /**
184
+ * Adds a default resolve query to be used when loading instances of this schema.
185
+ * This resolve query will be used when no resolve query is provided to the load method.
186
+ */
187
+ resolved<
188
+ const R extends RefsToResolve<CoListInstanceCoValuesMaybeLoaded<T>> = true,
189
+ >(
190
+ resolveQuery: RefsToResolveStrict<CoListInstanceCoValuesMaybeLoaded<T>, R>,
191
+ ): CoListSchema<T, R> {
192
+ const copy = new CoListSchema<T, R>(this.element, this.coValueClass);
193
+ copy.resolveQuery = resolveQuery as R;
194
+ return copy;
195
+ }
139
196
  }
140
197
 
141
198
  export function createCoreCoListSchema<T extends AnyZodOrCoValueSchema>(
@@ -145,6 +202,7 @@ export function createCoreCoListSchema<T extends AnyZodOrCoValueSchema>(
145
202
  collaborative: true as const,
146
203
  builtin: "CoList" as const,
147
204
  element,
205
+ resolveQuery: true as const,
148
206
  };
149
207
  }
150
208
 
@@ -160,5 +218,5 @@ export type CoListInstance<T extends AnyZodOrCoValueSchema> = CoList<
160
218
  InstanceOrPrimitiveOfSchema<T>
161
219
  >;
162
220
 
163
- export type CoListInstanceCoValuesNullable<T extends AnyZodOrCoValueSchema> =
164
- CoList<InstanceOrPrimitiveOfSchemaCoValuesNullable<T>>;
221
+ export type CoListInstanceCoValuesMaybeLoaded<T extends AnyZodOrCoValueSchema> =
222
+ CoList<InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded<T>>;