convex 1.45.0 → 1.46.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 (319) hide show
  1. package/CHANGELOG.md +48 -6
  2. package/dist/browser.bundle.js +1 -1
  3. package/dist/browser.bundle.js.map +2 -2
  4. package/dist/cjs/browser/http_client.js.map +2 -2
  5. package/dist/cjs/browser/query_options.js.map +2 -2
  6. package/dist/cjs/browser/simple_client.js.map +2 -2
  7. package/dist/cjs/browser/sync/optimistic_updates.js.map +1 -1
  8. package/dist/cjs/browser/sync/optimistic_updates_impl.js.map +2 -2
  9. package/dist/cjs/cli/codegen.js +2 -0
  10. package/dist/cjs/cli/codegen.js.map +2 -2
  11. package/dist/cjs/cli/deploy.js +1 -0
  12. package/dist/cjs/cli/deploy.js.map +2 -2
  13. package/dist/cjs/cli/docs.js +3 -36
  14. package/dist/cjs/cli/docs.js.map +2 -2
  15. package/dist/cjs/cli/lib/checkForLargeIndexDeletion.js +101 -60
  16. package/dist/cjs/cli/lib/checkForLargeIndexDeletion.js.map +2 -2
  17. package/dist/cjs/cli/lib/checkForSlowSchemaValidation.js +107 -0
  18. package/dist/cjs/cli/lib/checkForSlowSchemaValidation.js.map +7 -0
  19. package/dist/cjs/cli/lib/codegen.js.map +2 -2
  20. package/dist/cjs/cli/lib/components.js +12 -0
  21. package/dist/cjs/cli/lib/components.js.map +2 -2
  22. package/dist/cjs/cli/lib/deploy2.js +29 -2
  23. package/dist/cjs/cli/lib/deploy2.js.map +2 -2
  24. package/dist/cjs/cli/lib/deployApi/evaluateSchema.js +73 -0
  25. package/dist/cjs/cli/lib/deployApi/evaluateSchema.js.map +7 -0
  26. package/dist/cjs/cli/lib/deployApi/finishPush.js +1 -0
  27. package/dist/cjs/cli/lib/deployApi/finishPush.js.map +2 -2
  28. package/dist/cjs/cli/lib/deployApi/startPush.js +1 -1
  29. package/dist/cjs/cli/lib/deployApi/startPush.js.map +2 -2
  30. package/dist/cjs/cli/lib/dev.js +1 -0
  31. package/dist/cjs/cli/lib/dev.js.map +2 -2
  32. package/dist/cjs/cli/lib/generatedFunctionLogsApi.js.map +1 -1
  33. package/dist/cjs/cli/lib/localDeployment/run.js +30 -1
  34. package/dist/cjs/cli/lib/localDeployment/run.js.map +2 -2
  35. package/dist/cjs/cli/lib/localDeployment/upgrade.js +6 -5
  36. package/dist/cjs/cli/lib/localDeployment/upgrade.js.map +2 -2
  37. package/dist/cjs/cli/lib/localDeployment/utils.js +5 -1
  38. package/dist/cjs/cli/lib/localDeployment/utils.js.map +2 -2
  39. package/dist/cjs/cli/lib/run.js +1 -0
  40. package/dist/cjs/cli/lib/run.js.map +2 -2
  41. package/dist/cjs/cli/lib/utils/utils.js +36 -29
  42. package/dist/cjs/cli/lib/utils/utils.js.map +2 -2
  43. package/dist/cjs/index.js +1 -1
  44. package/dist/cjs/index.js.map +1 -1
  45. package/dist/cjs/nextjs/index.js.map +2 -2
  46. package/dist/cjs/react/client.js.map +2 -2
  47. package/dist/cjs/react/hydration.js.map +2 -2
  48. package/dist/cjs/react/queries_observer.js.map +2 -2
  49. package/dist/cjs/react/use_paginated_query2.js.map +2 -2
  50. package/dist/cjs/react/use_queries.js.map +2 -2
  51. package/dist/cjs/server/api.js.map +2 -2
  52. package/dist/cjs/server/components/index.js.map +2 -2
  53. package/dist/cjs/server/cron.js +10 -10
  54. package/dist/cjs/server/cron.js.map +2 -2
  55. package/dist/cjs/server/impl/actions_impl.js.map +2 -2
  56. package/dist/cjs/server/impl/meta_impl.js +8 -2
  57. package/dist/cjs/server/impl/meta_impl.js.map +2 -2
  58. package/dist/cjs/server/impl/scheduler_impl.js.map +2 -2
  59. package/dist/cjs/server/index.js.map +2 -2
  60. package/dist/cjs/server/meta.js.map +1 -1
  61. package/dist/cjs/server/registration.js.map +1 -1
  62. package/dist/cjs/server/scheduler.js.map +1 -1
  63. package/dist/cjs/server/schema.js +50 -3
  64. package/dist/cjs/server/schema.js.map +2 -2
  65. package/dist/cjs/values/validator.js +1 -1
  66. package/dist/cjs/values/validator.js.map +2 -2
  67. package/dist/cjs/values/validators.js +81 -25
  68. package/dist/cjs/values/validators.js.map +2 -2
  69. package/dist/cjs-types/browser/http_client.d.ts +5 -5
  70. package/dist/cjs-types/browser/http_client.d.ts.map +1 -1
  71. package/dist/cjs-types/browser/query_options.d.ts +2 -2
  72. package/dist/cjs-types/browser/query_options.d.ts.map +1 -1
  73. package/dist/cjs-types/browser/simple_client.d.ts +6 -6
  74. package/dist/cjs-types/browser/simple_client.d.ts.map +1 -1
  75. package/dist/cjs-types/browser/sync/optimistic_updates.d.ts +4 -4
  76. package/dist/cjs-types/browser/sync/optimistic_updates.d.ts.map +1 -1
  77. package/dist/cjs-types/browser/sync/optimistic_updates_impl.d.ts.map +1 -1
  78. package/dist/cjs-types/cli/codegen.d.ts.map +1 -1
  79. package/dist/cjs-types/cli/docs.d.ts.map +1 -1
  80. package/dist/cjs-types/cli/lib/checkForLargeIndexDeletion.d.ts +26 -5
  81. package/dist/cjs-types/cli/lib/checkForLargeIndexDeletion.d.ts.map +1 -1
  82. package/dist/cjs-types/cli/lib/checkForSlowSchemaValidation.d.ts +14 -0
  83. package/dist/cjs-types/cli/lib/checkForSlowSchemaValidation.d.ts.map +1 -0
  84. package/dist/cjs-types/cli/lib/codegen.d.ts +1 -0
  85. package/dist/cjs-types/cli/lib/codegen.d.ts.map +1 -1
  86. package/dist/cjs-types/cli/lib/components.d.ts +1 -0
  87. package/dist/cjs-types/cli/lib/components.d.ts.map +1 -1
  88. package/dist/cjs-types/cli/lib/deploy2.d.ts +6 -0
  89. package/dist/cjs-types/cli/lib/deploy2.d.ts.map +1 -1
  90. package/dist/cjs-types/cli/lib/deployApi/evaluateSchema.d.ts +453 -0
  91. package/dist/cjs-types/cli/lib/deployApi/evaluateSchema.d.ts.map +1 -0
  92. package/dist/cjs-types/cli/lib/deployApi/finishPush.d.ts +1 -2
  93. package/dist/cjs-types/cli/lib/deployApi/finishPush.d.ts.map +1 -1
  94. package/dist/cjs-types/cli/lib/dev.d.ts.map +1 -1
  95. package/dist/cjs-types/cli/lib/generatedFunctionLogsApi.d.ts +2 -0
  96. package/dist/cjs-types/cli/lib/generatedFunctionLogsApi.d.ts.map +1 -1
  97. package/dist/cjs-types/cli/lib/localDeployment/run.d.ts +2 -0
  98. package/dist/cjs-types/cli/lib/localDeployment/run.d.ts.map +1 -1
  99. package/dist/cjs-types/cli/lib/localDeployment/upgrade.d.ts.map +1 -1
  100. package/dist/cjs-types/cli/lib/localDeployment/utils.d.ts +1 -0
  101. package/dist/cjs-types/cli/lib/localDeployment/utils.d.ts.map +1 -1
  102. package/dist/cjs-types/cli/lib/run.d.ts.map +1 -1
  103. package/dist/cjs-types/cli/lib/utils/utils.d.ts +5 -5
  104. package/dist/cjs-types/cli/lib/utils/utils.d.ts.map +1 -1
  105. package/dist/cjs-types/index.d.ts +1 -1
  106. package/dist/cjs-types/nextjs/index.d.ts +6 -6
  107. package/dist/cjs-types/nextjs/index.d.ts.map +1 -1
  108. package/dist/cjs-types/react/client.d.ts +15 -15
  109. package/dist/cjs-types/react/client.d.ts.map +1 -1
  110. package/dist/cjs-types/react/hydration.d.ts +3 -3
  111. package/dist/cjs-types/react/hydration.d.ts.map +1 -1
  112. package/dist/cjs-types/react/queries_observer.d.ts +9 -9
  113. package/dist/cjs-types/react/queries_observer.d.ts.map +1 -1
  114. package/dist/cjs-types/react/use_paginated_query2.d.ts.map +1 -1
  115. package/dist/cjs-types/react/use_queries.d.ts +14 -6
  116. package/dist/cjs-types/react/use_queries.d.ts.map +1 -1
  117. package/dist/cjs-types/server/api.d.ts +157 -7
  118. package/dist/cjs-types/server/api.d.ts.map +1 -1
  119. package/dist/cjs-types/server/components/index.d.ts +2 -2
  120. package/dist/cjs-types/server/components/index.d.ts.map +1 -1
  121. package/dist/cjs-types/server/cron.d.ts +21 -20
  122. package/dist/cjs-types/server/cron.d.ts.map +1 -1
  123. package/dist/cjs-types/server/impl/actions_impl.d.ts +4 -4
  124. package/dist/cjs-types/server/impl/actions_impl.d.ts.map +1 -1
  125. package/dist/cjs-types/server/impl/meta_impl.d.ts.map +1 -1
  126. package/dist/cjs-types/server/impl/scheduler_impl.d.ts.map +1 -1
  127. package/dist/cjs-types/server/index.d.ts +1 -1
  128. package/dist/cjs-types/server/index.d.ts.map +1 -1
  129. package/dist/cjs-types/server/meta.d.ts.map +1 -1
  130. package/dist/cjs-types/server/registration.d.ts +7 -7
  131. package/dist/cjs-types/server/registration.d.ts.map +1 -1
  132. package/dist/cjs-types/server/scheduler.d.ts +9 -7
  133. package/dist/cjs-types/server/scheduler.d.ts.map +1 -1
  134. package/dist/cjs-types/server/schema.d.ts +1 -0
  135. package/dist/cjs-types/server/schema.d.ts.map +1 -1
  136. package/dist/cjs-types/values/validator.d.ts.map +1 -1
  137. package/dist/cjs-types/values/validators.d.ts +30 -0
  138. package/dist/cjs-types/values/validators.d.ts.map +1 -1
  139. package/dist/cli.bundle.cjs +347 -133
  140. package/dist/cli.bundle.cjs.map +4 -4
  141. package/dist/esm/browser/http_client.js.map +2 -2
  142. package/dist/esm/browser/query_options.js.map +2 -2
  143. package/dist/esm/browser/simple_client.js.map +2 -2
  144. package/dist/esm/browser/sync/optimistic_updates_impl.js.map +2 -2
  145. package/dist/esm/cli/codegen.js +2 -0
  146. package/dist/esm/cli/codegen.js.map +2 -2
  147. package/dist/esm/cli/deploy.js +1 -0
  148. package/dist/esm/cli/deploy.js.map +2 -2
  149. package/dist/esm/cli/docs.js +3 -43
  150. package/dist/esm/cli/docs.js.map +2 -2
  151. package/dist/esm/cli/lib/checkForLargeIndexDeletion.js +100 -60
  152. package/dist/esm/cli/lib/checkForLargeIndexDeletion.js.map +2 -2
  153. package/dist/esm/cli/lib/checkForSlowSchemaValidation.js +85 -0
  154. package/dist/esm/cli/lib/checkForSlowSchemaValidation.js.map +7 -0
  155. package/dist/esm/cli/lib/codegen.js.map +2 -2
  156. package/dist/esm/cli/lib/components.js +12 -0
  157. package/dist/esm/cli/lib/components.js.map +2 -2
  158. package/dist/esm/cli/lib/deploy2.js +30 -2
  159. package/dist/esm/cli/lib/deploy2.js.map +2 -2
  160. package/dist/esm/cli/lib/deployApi/evaluateSchema.js +46 -0
  161. package/dist/esm/cli/lib/deployApi/evaluateSchema.js.map +7 -0
  162. package/dist/esm/cli/lib/deployApi/finishPush.js +1 -1
  163. package/dist/esm/cli/lib/deployApi/finishPush.js.map +2 -2
  164. package/dist/esm/cli/lib/deployApi/startPush.js +1 -1
  165. package/dist/esm/cli/lib/deployApi/startPush.js.map +2 -2
  166. package/dist/esm/cli/lib/dev.js +1 -0
  167. package/dist/esm/cli/lib/dev.js.map +2 -2
  168. package/dist/esm/cli/lib/localDeployment/run.js +30 -2
  169. package/dist/esm/cli/lib/localDeployment/run.js.map +2 -2
  170. package/dist/esm/cli/lib/localDeployment/upgrade.js +4 -3
  171. package/dist/esm/cli/lib/localDeployment/upgrade.js.map +2 -2
  172. package/dist/esm/cli/lib/localDeployment/utils.js +3 -0
  173. package/dist/esm/cli/lib/localDeployment/utils.js.map +2 -2
  174. package/dist/esm/cli/lib/run.js +1 -0
  175. package/dist/esm/cli/lib/run.js.map +2 -2
  176. package/dist/esm/cli/lib/utils/utils.js +36 -30
  177. package/dist/esm/cli/lib/utils/utils.js.map +2 -2
  178. package/dist/esm/index.js +1 -1
  179. package/dist/esm/index.js.map +1 -1
  180. package/dist/esm/nextjs/index.js.map +2 -2
  181. package/dist/esm/react/client.js.map +2 -2
  182. package/dist/esm/react/hydration.js +3 -1
  183. package/dist/esm/react/hydration.js.map +2 -2
  184. package/dist/esm/react/queries_observer.js +3 -1
  185. package/dist/esm/react/queries_observer.js.map +2 -2
  186. package/dist/esm/react/use_paginated_query2.js +3 -1
  187. package/dist/esm/react/use_paginated_query2.js.map +2 -2
  188. package/dist/esm/react/use_queries.js.map +2 -2
  189. package/dist/esm/server/api.js.map +2 -2
  190. package/dist/esm/server/components/index.js.map +2 -2
  191. package/dist/esm/server/cron.js +13 -11
  192. package/dist/esm/server/cron.js.map +2 -2
  193. package/dist/esm/server/impl/actions_impl.js.map +2 -2
  194. package/dist/esm/server/impl/meta_impl.js +9 -3
  195. package/dist/esm/server/impl/meta_impl.js.map +2 -2
  196. package/dist/esm/server/impl/scheduler_impl.js.map +2 -2
  197. package/dist/esm/server/index.js.map +2 -2
  198. package/dist/esm/server/schema.js +50 -3
  199. package/dist/esm/server/schema.js.map +2 -2
  200. package/dist/esm/values/validator.js +1 -1
  201. package/dist/esm/values/validator.js.map +2 -2
  202. package/dist/esm/values/validators.js +81 -25
  203. package/dist/esm/values/validators.js.map +2 -2
  204. package/dist/esm-types/browser/http_client.d.ts +5 -5
  205. package/dist/esm-types/browser/http_client.d.ts.map +1 -1
  206. package/dist/esm-types/browser/query_options.d.ts +2 -2
  207. package/dist/esm-types/browser/query_options.d.ts.map +1 -1
  208. package/dist/esm-types/browser/simple_client.d.ts +6 -6
  209. package/dist/esm-types/browser/simple_client.d.ts.map +1 -1
  210. package/dist/esm-types/browser/sync/optimistic_updates.d.ts +4 -4
  211. package/dist/esm-types/browser/sync/optimistic_updates.d.ts.map +1 -1
  212. package/dist/esm-types/browser/sync/optimistic_updates_impl.d.ts.map +1 -1
  213. package/dist/esm-types/cli/codegen.d.ts.map +1 -1
  214. package/dist/esm-types/cli/docs.d.ts.map +1 -1
  215. package/dist/esm-types/cli/lib/checkForLargeIndexDeletion.d.ts +26 -5
  216. package/dist/esm-types/cli/lib/checkForLargeIndexDeletion.d.ts.map +1 -1
  217. package/dist/esm-types/cli/lib/checkForSlowSchemaValidation.d.ts +14 -0
  218. package/dist/esm-types/cli/lib/checkForSlowSchemaValidation.d.ts.map +1 -0
  219. package/dist/esm-types/cli/lib/codegen.d.ts +1 -0
  220. package/dist/esm-types/cli/lib/codegen.d.ts.map +1 -1
  221. package/dist/esm-types/cli/lib/components.d.ts +1 -0
  222. package/dist/esm-types/cli/lib/components.d.ts.map +1 -1
  223. package/dist/esm-types/cli/lib/deploy2.d.ts +6 -0
  224. package/dist/esm-types/cli/lib/deploy2.d.ts.map +1 -1
  225. package/dist/esm-types/cli/lib/deployApi/evaluateSchema.d.ts +453 -0
  226. package/dist/esm-types/cli/lib/deployApi/evaluateSchema.d.ts.map +1 -0
  227. package/dist/esm-types/cli/lib/deployApi/finishPush.d.ts +1 -2
  228. package/dist/esm-types/cli/lib/deployApi/finishPush.d.ts.map +1 -1
  229. package/dist/esm-types/cli/lib/dev.d.ts.map +1 -1
  230. package/dist/esm-types/cli/lib/generatedFunctionLogsApi.d.ts +2 -0
  231. package/dist/esm-types/cli/lib/generatedFunctionLogsApi.d.ts.map +1 -1
  232. package/dist/esm-types/cli/lib/localDeployment/run.d.ts +2 -0
  233. package/dist/esm-types/cli/lib/localDeployment/run.d.ts.map +1 -1
  234. package/dist/esm-types/cli/lib/localDeployment/upgrade.d.ts.map +1 -1
  235. package/dist/esm-types/cli/lib/localDeployment/utils.d.ts +1 -0
  236. package/dist/esm-types/cli/lib/localDeployment/utils.d.ts.map +1 -1
  237. package/dist/esm-types/cli/lib/run.d.ts.map +1 -1
  238. package/dist/esm-types/cli/lib/utils/utils.d.ts +5 -5
  239. package/dist/esm-types/cli/lib/utils/utils.d.ts.map +1 -1
  240. package/dist/esm-types/index.d.ts +1 -1
  241. package/dist/esm-types/nextjs/index.d.ts +6 -6
  242. package/dist/esm-types/nextjs/index.d.ts.map +1 -1
  243. package/dist/esm-types/react/client.d.ts +15 -15
  244. package/dist/esm-types/react/client.d.ts.map +1 -1
  245. package/dist/esm-types/react/hydration.d.ts +3 -3
  246. package/dist/esm-types/react/hydration.d.ts.map +1 -1
  247. package/dist/esm-types/react/queries_observer.d.ts +9 -9
  248. package/dist/esm-types/react/queries_observer.d.ts.map +1 -1
  249. package/dist/esm-types/react/use_paginated_query2.d.ts.map +1 -1
  250. package/dist/esm-types/react/use_queries.d.ts +14 -6
  251. package/dist/esm-types/react/use_queries.d.ts.map +1 -1
  252. package/dist/esm-types/server/api.d.ts +157 -7
  253. package/dist/esm-types/server/api.d.ts.map +1 -1
  254. package/dist/esm-types/server/components/index.d.ts +2 -2
  255. package/dist/esm-types/server/components/index.d.ts.map +1 -1
  256. package/dist/esm-types/server/cron.d.ts +21 -20
  257. package/dist/esm-types/server/cron.d.ts.map +1 -1
  258. package/dist/esm-types/server/impl/actions_impl.d.ts +4 -4
  259. package/dist/esm-types/server/impl/actions_impl.d.ts.map +1 -1
  260. package/dist/esm-types/server/impl/meta_impl.d.ts.map +1 -1
  261. package/dist/esm-types/server/impl/scheduler_impl.d.ts.map +1 -1
  262. package/dist/esm-types/server/index.d.ts +1 -1
  263. package/dist/esm-types/server/index.d.ts.map +1 -1
  264. package/dist/esm-types/server/meta.d.ts.map +1 -1
  265. package/dist/esm-types/server/registration.d.ts +7 -7
  266. package/dist/esm-types/server/registration.d.ts.map +1 -1
  267. package/dist/esm-types/server/scheduler.d.ts +9 -7
  268. package/dist/esm-types/server/scheduler.d.ts.map +1 -1
  269. package/dist/esm-types/server/schema.d.ts +1 -0
  270. package/dist/esm-types/server/schema.d.ts.map +1 -1
  271. package/dist/esm-types/values/validator.d.ts.map +1 -1
  272. package/dist/esm-types/values/validators.d.ts +30 -0
  273. package/dist/esm-types/values/validators.d.ts.map +1 -1
  274. package/dist/react.bundle.js +1 -1
  275. package/dist/react.bundle.js.map +2 -2
  276. package/package.json +5 -5
  277. package/src/browser/http_client.ts +43 -10
  278. package/src/browser/query_options.ts +11 -5
  279. package/src/browser/simple_client.ts +35 -14
  280. package/src/browser/sync/optimistic_updates.ts +17 -4
  281. package/src/browser/sync/optimistic_updates_impl.ts +17 -4
  282. package/src/cli/codegen.ts +1 -0
  283. package/src/cli/deploy.ts +1 -0
  284. package/src/cli/docs.ts +3 -44
  285. package/src/cli/lib/checkForLargeIndexDeletion.ts +154 -82
  286. package/src/cli/lib/checkForSlowSchemaValidation.ts +130 -0
  287. package/src/cli/lib/codegen.ts +1 -0
  288. package/src/cli/lib/components.ts +17 -0
  289. package/src/cli/lib/deploy2.ts +56 -1
  290. package/src/cli/lib/deployApi/evaluateSchema.ts +62 -0
  291. package/src/cli/lib/deployApi/finishPush.ts +1 -1
  292. package/src/cli/lib/deployApi/startPush.ts +1 -1
  293. package/src/cli/lib/dev.ts +1 -0
  294. package/src/cli/lib/generatedFunctionLogsApi.ts +2 -0
  295. package/src/cli/lib/localDeployment/run.ts +44 -2
  296. package/src/cli/lib/localDeployment/upgrade.ts +4 -6
  297. package/src/cli/lib/localDeployment/utils.ts +6 -0
  298. package/src/cli/lib/run.ts +1 -0
  299. package/src/cli/lib/utils/utils.ts +63 -35
  300. package/src/index.ts +1 -1
  301. package/src/nextjs/index.ts +19 -8
  302. package/src/react/client.ts +73 -30
  303. package/src/react/hydration.tsx +14 -6
  304. package/src/react/queries_observer.ts +19 -16
  305. package/src/react/use_paginated_query2.ts +10 -6
  306. package/src/react/use_queries.ts +23 -7
  307. package/src/server/api.ts +220 -14
  308. package/src/server/components/index.ts +4 -6
  309. package/src/server/cron.ts +34 -24
  310. package/src/server/impl/actions_impl.ts +13 -4
  311. package/src/server/impl/meta_impl.ts +8 -1
  312. package/src/server/impl/scheduler_impl.ts +13 -6
  313. package/src/server/index.ts +1 -0
  314. package/src/server/meta.ts +25 -0
  315. package/src/server/registration.ts +28 -7
  316. package/src/server/scheduler.ts +22 -7
  317. package/src/server/schema.ts +55 -0
  318. package/src/values/validator.ts +3 -1
  319. package/src/values/validators.ts +84 -26
@@ -60,13 +60,17 @@ export class VId extends BaseValidator {
60
60
  get json() {
61
61
  return { type: "id", tableName: this.tableName };
62
62
  }
63
- /** @internal */
64
- asOptional() {
63
+ /** Allow this field to be validated as absent. */
64
+ optional() {
65
65
  return new VId({
66
66
  isOptional: "optional",
67
67
  tableName: this.tableName
68
68
  });
69
69
  }
70
+ /** @internal */
71
+ asOptional() {
72
+ return this.optional();
73
+ }
70
74
  }
71
75
  export class VFloat64 extends BaseValidator {
72
76
  constructor() {
@@ -80,12 +84,16 @@ export class VFloat64 extends BaseValidator {
80
84
  get json() {
81
85
  return { type: "number" };
82
86
  }
83
- /** @internal */
84
- asOptional() {
87
+ /** Allow this field to be validated as absent. */
88
+ optional() {
85
89
  return new VFloat64({
86
90
  isOptional: "optional"
87
91
  });
88
92
  }
93
+ /** @internal */
94
+ asOptional() {
95
+ return this.optional();
96
+ }
89
97
  }
90
98
  export class VInt64 extends BaseValidator {
91
99
  constructor() {
@@ -99,9 +107,13 @@ export class VInt64 extends BaseValidator {
99
107
  get json() {
100
108
  return { type: "bigint" };
101
109
  }
110
+ /** Allow this validated field to be absent. */
111
+ optional() {
112
+ return new VInt64({ isOptional: "optional" });
113
+ }
102
114
  /** @internal */
103
115
  asOptional() {
104
- return new VInt64({ isOptional: "optional" });
116
+ return this.optional();
105
117
  }
106
118
  }
107
119
  export class VCommitTs extends BaseValidator {
@@ -116,12 +128,16 @@ export class VCommitTs extends BaseValidator {
116
128
  get json() {
117
129
  return { type: this.kind };
118
130
  }
119
- /** @internal */
120
- asOptional() {
131
+ /** Allow this validated field to be absent. */
132
+ optional() {
121
133
  return new VCommitTs({
122
134
  isOptional: "optional"
123
135
  });
124
136
  }
137
+ /** @internal */
138
+ asOptional() {
139
+ return this.optional();
140
+ }
125
141
  }
126
142
  export class VBoolean extends BaseValidator {
127
143
  constructor() {
@@ -135,12 +151,16 @@ export class VBoolean extends BaseValidator {
135
151
  get json() {
136
152
  return { type: this.kind };
137
153
  }
138
- /** @internal */
139
- asOptional() {
154
+ /** Allow this validated field to be absent. */
155
+ optional() {
140
156
  return new VBoolean({
141
157
  isOptional: "optional"
142
158
  });
143
159
  }
160
+ /** @internal */
161
+ asOptional() {
162
+ return this.optional();
163
+ }
144
164
  }
145
165
  export class VBytes extends BaseValidator {
146
166
  constructor() {
@@ -154,9 +174,13 @@ export class VBytes extends BaseValidator {
154
174
  get json() {
155
175
  return { type: this.kind };
156
176
  }
177
+ /** Allow this validated field to be absent. */
178
+ optional() {
179
+ return new VBytes({ isOptional: "optional" });
180
+ }
157
181
  /** @internal */
158
182
  asOptional() {
159
- return new VBytes({ isOptional: "optional" });
183
+ return this.optional();
160
184
  }
161
185
  }
162
186
  export class VString extends BaseValidator {
@@ -171,12 +195,16 @@ export class VString extends BaseValidator {
171
195
  get json() {
172
196
  return { type: this.kind };
173
197
  }
174
- /** @internal */
175
- asOptional() {
198
+ /** Allow this validated field to be absent. */
199
+ optional() {
176
200
  return new VString({
177
201
  isOptional: "optional"
178
202
  });
179
203
  }
204
+ /** @internal */
205
+ asOptional() {
206
+ return this.optional();
207
+ }
180
208
  }
181
209
  export class VNull extends BaseValidator {
182
210
  constructor() {
@@ -190,9 +218,13 @@ export class VNull extends BaseValidator {
190
218
  get json() {
191
219
  return { type: this.kind };
192
220
  }
221
+ /** Allow this validated field to be absent. */
222
+ optional() {
223
+ return new VNull({ isOptional: "optional" });
224
+ }
193
225
  /** @internal */
194
226
  asOptional() {
195
- return new VNull({ isOptional: "optional" });
227
+ return this.optional();
196
228
  }
197
229
  }
198
230
  export class VAny extends BaseValidator {
@@ -209,12 +241,16 @@ export class VAny extends BaseValidator {
209
241
  type: this.kind
210
242
  };
211
243
  }
212
- /** @internal */
213
- asOptional() {
244
+ /** Allow this validated field to be absent. */
245
+ optional() {
214
246
  return new VAny({
215
247
  isOptional: "optional"
216
248
  });
217
249
  }
250
+ /** @internal */
251
+ asOptional() {
252
+ return this.optional();
253
+ }
218
254
  }
219
255
  export class VObject extends BaseValidator {
220
256
  /**
@@ -258,13 +294,17 @@ export class VObject extends BaseValidator {
258
294
  )
259
295
  };
260
296
  }
261
- /** @internal */
262
- asOptional() {
297
+ /** Allow this validated field to be absent. */
298
+ optional() {
263
299
  return new VObject({
264
300
  isOptional: "optional",
265
301
  fields: this.fields
266
302
  });
267
303
  }
304
+ /** @internal */
305
+ asOptional() {
306
+ return this.optional();
307
+ }
268
308
  /**
269
309
  * Create a new VObject with the specified fields omitted.
270
310
  * @param fields The field names to omit from this VObject.
@@ -343,13 +383,17 @@ export class VLiteral extends BaseValidator {
343
383
  value: convexToJson(this.value)
344
384
  };
345
385
  }
346
- /** @internal */
347
- asOptional() {
386
+ /** Allow this validated field to be absent. */
387
+ optional() {
348
388
  return new VLiteral({
349
389
  isOptional: "optional",
350
390
  value: this.value
351
391
  });
352
392
  }
393
+ /** @internal */
394
+ asOptional() {
395
+ return this.optional();
396
+ }
353
397
  }
354
398
  export class VArray extends BaseValidator {
355
399
  /**
@@ -380,13 +424,17 @@ export class VArray extends BaseValidator {
380
424
  value: this.element.json
381
425
  };
382
426
  }
383
- /** @internal */
384
- asOptional() {
427
+ /** Allow this validated field to be absent. */
428
+ optional() {
385
429
  return new VArray({
386
430
  isOptional: "optional",
387
431
  element: this.element
388
432
  });
389
433
  }
434
+ /** @internal */
435
+ asOptional() {
436
+ return this.optional();
437
+ }
390
438
  }
391
439
  export class VRecord extends BaseValidator {
392
440
  /**
@@ -440,14 +488,18 @@ export class VRecord extends BaseValidator {
440
488
  }
441
489
  };
442
490
  }
443
- /** @internal */
444
- asOptional() {
491
+ /** Allow this validated field to be absent. */
492
+ optional() {
445
493
  return new VRecord({
446
494
  isOptional: "optional",
447
495
  key: this.key,
448
496
  value: this.value
449
497
  });
450
498
  }
499
+ /** @internal */
500
+ asOptional() {
501
+ return this.optional();
502
+ }
451
503
  }
452
504
  export class VUnion extends BaseValidator {
453
505
  /**
@@ -480,12 +532,16 @@ export class VUnion extends BaseValidator {
480
532
  value: this.members.map((v) => v.json)
481
533
  };
482
534
  }
483
- /** @internal */
484
- asOptional() {
535
+ /** Allow this validated field to be absent. */
536
+ optional() {
485
537
  return new VUnion({
486
538
  isOptional: "optional",
487
539
  members: this.members
488
540
  });
489
541
  }
542
+ /** @internal */
543
+ asOptional() {
544
+ return this.optional();
545
+ }
490
546
  }
491
547
  //# sourceMappingURL=validators.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/values/validators.ts"],
4
- "sourcesContent": ["import { Expand } from \"../type_utils.js\";\nimport { GenericId } from \"./index.js\";\nimport { GenericValidator, ObjectType } from \"./validator.js\";\nimport { CommitTsPlaceholder, JSONValue, convexToJson } from \"./value.js\";\n\ntype TableNameFromType<T> =\n T extends GenericId<infer TableName> ? TableName : string;\n\nconst UNDEFINED_VALIDATOR_ERROR_URL =\n \"https://docs.convex.dev/error#undefined-validator\";\n\nfunction throwUndefinedValidatorError(\n context: string,\n fieldName?: string,\n): never {\n const fieldInfo = fieldName !== undefined ? ` for field \"${fieldName}\"` : \"\";\n throw new Error(\n `A validator is undefined${fieldInfo} in ${context}. ` +\n `This is often caused by circular imports. ` +\n `See ${UNDEFINED_VALIDATOR_ERROR_URL} for details.`,\n );\n}\n\n/**\n * Avoid using `instanceof BaseValidator`; this is inheritence for code reuse\n * not type heirarchy.\n */\nabstract class BaseValidator<\n Type,\n IsOptional extends OptionalProperty = \"required\",\n FieldPaths extends string = never,\n> {\n /**\n * Only for TypeScript, the TS type of the JS values validated\n * by this validator.\n */\n readonly type!: Type;\n /**\n * Only for TypeScript, if this an Object validator, then\n * this is the TS type of its property names.\n */\n readonly fieldPaths!: FieldPaths;\n\n /**\n * Whether this is an optional Object property value validator.\n */\n readonly isOptional: IsOptional;\n\n /**\n * Always `\"true\"`.\n */\n readonly isConvexValidator: true;\n\n constructor({ isOptional }: { isOptional: IsOptional }) {\n this.isOptional = isOptional;\n this.isConvexValidator = true;\n }\n /** @internal */\n abstract get json(): ValidatorJSON;\n /** @internal */\n abstract asOptional(): Validator<Type | undefined, \"optional\", FieldPaths>;\n}\n\n/**\n * The type of the `v.id(tableName)` validator.\n */\nexport class VId<\n Type,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The name of the table that the validated IDs must belong to.\n */\n readonly tableName: TableNameFromType<Type>;\n\n /**\n * The kind of validator, `\"id\"`.\n */\n readonly kind = \"id\" as const;\n\n /**\n * Usually you'd use `v.id(tableName)` instead.\n */\n constructor({\n isOptional,\n tableName,\n }: {\n isOptional: IsOptional;\n tableName: TableNameFromType<Type>;\n }) {\n super({ isOptional });\n if (typeof tableName !== \"string\") {\n throw new Error(\"v.id(tableName) requires a string\");\n }\n this.tableName = tableName;\n }\n /** @internal */\n get json(): ValidatorJSON {\n return { type: \"id\", tableName: this.tableName };\n }\n /** @internal */\n asOptional() {\n return new VId<Type | undefined, \"optional\">({\n isOptional: \"optional\",\n tableName: this.tableName,\n });\n }\n}\n\n/**\n * The type of the `v.float64()` validator.\n */\nexport class VFloat64<\n Type = number,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The kind of validator, `\"float64\"`.\n */\n readonly kind = \"float64\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n // Server expects the old name `number` string instead of `float64`.\n return { type: \"number\" };\n }\n /** @internal */\n asOptional() {\n return new VFloat64<Type | undefined, \"optional\">({\n isOptional: \"optional\",\n });\n }\n}\n\n/**\n * The type of the `v.int64()` validator.\n */\nexport class VInt64<\n Type = bigint,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The kind of validator, `\"int64\"`.\n */\n readonly kind = \"int64\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n // Server expects the old name `bigint`.\n return { type: \"bigint\" };\n }\n /** @internal */\n asOptional() {\n return new VInt64<Type | undefined, \"optional\">({ isOptional: \"optional\" });\n }\n}\n\n/**\n * The type of the `v.commitTs()` validator.\n */\nexport class VCommitTs<\n Type = bigint | CommitTsPlaceholder,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The kind of validator, `\"commitTs\"`.\n */\n readonly kind = \"commitTs\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n return { type: this.kind };\n }\n /** @internal */\n asOptional() {\n return new VCommitTs<Type | undefined, \"optional\">({\n isOptional: \"optional\",\n });\n }\n}\n\n/**\n * The type of the `v.boolean()` validator.\n */\nexport class VBoolean<\n Type = boolean,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The kind of validator, `\"boolean\"`.\n */\n readonly kind = \"boolean\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n return { type: this.kind };\n }\n /** @internal */\n asOptional() {\n return new VBoolean<Type | undefined, \"optional\">({\n isOptional: \"optional\",\n });\n }\n}\n\n/**\n * The type of the `v.bytes()` validator.\n */\nexport class VBytes<\n Type = ArrayBuffer,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The kind of validator, `\"bytes\"`.\n */\n readonly kind = \"bytes\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n return { type: this.kind };\n }\n /** @internal */\n asOptional() {\n return new VBytes<Type | undefined, \"optional\">({ isOptional: \"optional\" });\n }\n}\n\n/**\n * The type of the `v.string()` validator.\n */\nexport class VString<\n Type = string,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The kind of validator, `\"string\"`.\n */\n readonly kind = \"string\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n return { type: this.kind };\n }\n /** @internal */\n asOptional() {\n return new VString<Type | undefined, \"optional\">({\n isOptional: \"optional\",\n });\n }\n}\n\n/**\n * The type of the `v.null()` validator.\n */\nexport class VNull<\n Type = null,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The kind of validator, `\"null\"`.\n */\n readonly kind = \"null\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n return { type: this.kind };\n }\n /** @internal */\n asOptional() {\n return new VNull<Type | undefined, \"optional\">({ isOptional: \"optional\" });\n }\n}\n\n/**\n * The type of the `v.any()` validator.\n */\nexport class VAny<\n Type = any,\n IsOptional extends OptionalProperty = \"required\",\n FieldPaths extends string = string,\n> extends BaseValidator<Type, IsOptional, FieldPaths> {\n /**\n * The kind of validator, `\"any\"`.\n */\n readonly kind = \"any\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n return {\n type: this.kind,\n };\n }\n /** @internal */\n asOptional() {\n return new VAny<Type | undefined, \"optional\", FieldPaths>({\n isOptional: \"optional\",\n });\n }\n}\n\n/**\n * The type of the `v.object()` validator.\n */\nexport class VObject<\n Type,\n Fields extends Record<string, GenericValidator>,\n IsOptional extends OptionalProperty = \"required\",\n FieldPaths extends string = {\n [Property in keyof Fields]:\n | JoinFieldPaths<Property & string, Fields[Property][\"fieldPaths\"]>\n | Property;\n }[keyof Fields] &\n string,\n> extends BaseValidator<Type, IsOptional, FieldPaths> {\n /**\n * An object with the validator for each property.\n */\n readonly fields: Fields;\n\n /**\n * The kind of validator, `\"object\"`.\n */\n readonly kind = \"object\" as const;\n\n /**\n * Usually you'd use `v.object({ ... })` instead.\n */\n constructor({\n isOptional,\n fields,\n }: {\n isOptional: IsOptional;\n fields: Fields;\n }) {\n super({ isOptional });\n globalThis.Object.entries(fields).forEach(([fieldName, validator]) => {\n if (validator === undefined) {\n throwUndefinedValidatorError(\"v.object()\", fieldName);\n }\n if (!validator.isConvexValidator) {\n throw new Error(\"v.object() entries must be validators\");\n }\n });\n this.fields = fields;\n }\n /** @internal */\n get json(): ValidatorJSON {\n return {\n type: this.kind,\n value: globalThis.Object.fromEntries(\n globalThis.Object.entries(this.fields).map(([k, v]) => [\n k,\n {\n fieldType: v.json,\n optional: v.isOptional === \"optional\" ? true : false,\n },\n ]),\n ),\n };\n }\n /** @internal */\n asOptional() {\n return new VObject<Type | undefined, Fields, \"optional\", FieldPaths>({\n isOptional: \"optional\",\n fields: this.fields,\n });\n }\n\n /**\n * Create a new VObject with the specified fields omitted.\n * @param fields The field names to omit from this VObject.\n */\n omit<K extends keyof Fields & string>(\n ...fields: K[]\n ): VObject<Expand<Omit<Type, K>>, Expand<Omit<Fields, K>>, IsOptional> {\n const newFields = { ...this.fields };\n for (const field of fields) {\n delete newFields[field];\n }\n return new VObject({\n isOptional: this.isOptional,\n fields: newFields as any,\n });\n }\n\n /**\n * Create a new VObject with only the specified fields.\n * @param fields The field names to pick from this VObject.\n */\n pick<K extends keyof Fields & string>(\n ...fields: K[]\n ): VObject<\n Expand<Pick<Type, Extract<keyof Type, K>>>,\n Expand<Pick<Fields, K>>,\n IsOptional\n > {\n const newFields: Record<string, GenericValidator> = {};\n for (const field of fields) {\n newFields[field] = this.fields[field];\n }\n return new VObject({\n isOptional: this.isOptional,\n fields: newFields as Expand<Pick<Fields, K>>,\n });\n }\n\n /**\n * Create a new VObject with all fields marked as optional.\n */\n partial(): VObject<\n { [K in keyof Type]?: Type[K] },\n { [K in keyof Fields]: VOptional<Fields[K]> },\n IsOptional\n > {\n const newFields: Record<string, GenericValidator> = {};\n for (const [key, validator] of globalThis.Object.entries(this.fields)) {\n newFields[key] = validator.asOptional();\n }\n return new VObject({\n isOptional: this.isOptional,\n fields: newFields as {\n [K in keyof Fields]: VOptional<Fields[K]>;\n },\n });\n }\n\n /**\n * Create a new VObject with additional fields merged in.\n * @param fields An object with additional validators to merge into this VObject.\n */\n extend<NewFields extends Record<string, GenericValidator>>(\n fields: NewFields,\n ): VObject<\n Expand<Type & ObjectType<NewFields>>,\n Expand<Fields & NewFields>,\n IsOptional\n > {\n return new VObject({\n isOptional: this.isOptional,\n fields: { ...this.fields, ...fields } as Expand<Fields & NewFields>,\n });\n }\n}\n\n/**\n * The type of the `v.literal()` validator.\n */\nexport class VLiteral<\n Type,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The value that the validated values must be equal to.\n */\n readonly value: Type;\n\n /**\n * The kind of validator, `\"literal\"`.\n */\n readonly kind = \"literal\" as const;\n\n /**\n * Usually you'd use `v.literal(value)` instead.\n */\n constructor({ isOptional, value }: { isOptional: IsOptional; value: Type }) {\n super({ isOptional });\n if (\n typeof value !== \"string\" &&\n typeof value !== \"boolean\" &&\n typeof value !== \"number\" &&\n typeof value !== \"bigint\"\n ) {\n throw new Error(\"v.literal(value) must be a string, number, or boolean\");\n }\n this.value = value;\n }\n /** @internal */\n get json(): ValidatorJSON {\n return {\n type: this.kind,\n value: convexToJson(this.value as string | boolean | number | bigint),\n };\n }\n /** @internal */\n asOptional() {\n return new VLiteral<Type | undefined, \"optional\">({\n isOptional: \"optional\",\n value: this.value,\n });\n }\n}\n\n/**\n * The type of the `v.array()` validator.\n */\nexport class VArray<\n Type,\n Element extends Validator<any, \"required\", any>,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The validator for the elements of the array.\n */\n readonly element: Element;\n\n /**\n * The kind of validator, `\"array\"`.\n */\n readonly kind = \"array\" as const;\n\n /**\n * Usually you'd use `v.array(element)` instead.\n */\n constructor({\n isOptional,\n element,\n }: {\n isOptional: IsOptional;\n element: Element;\n }) {\n super({ isOptional });\n if (element === undefined) {\n throwUndefinedValidatorError(\"v.array()\");\n }\n this.element = element;\n }\n /** @internal */\n get json(): ValidatorJSON {\n return {\n type: this.kind,\n value: this.element.json,\n };\n }\n /** @internal */\n asOptional() {\n return new VArray<Type | undefined, Element, \"optional\">({\n isOptional: \"optional\",\n element: this.element,\n });\n }\n}\n\n/**\n * The type of the `v.record()` validator.\n */\nexport class VRecord<\n Type,\n Key extends Validator<string, \"required\", any>,\n Value extends Validator<any, \"required\", any>,\n IsOptional extends OptionalProperty = \"required\",\n FieldPaths extends string = string,\n> extends BaseValidator<Type, IsOptional, FieldPaths> {\n /**\n * The validator for the keys of the record.\n */\n readonly key: Key;\n\n /**\n * The validator for the values of the record.\n */\n readonly value: Value;\n\n /**\n * The kind of validator, `\"record\"`.\n */\n readonly kind = \"record\" as const;\n\n /**\n * Usually you'd use `v.record(key, value)` instead.\n */\n constructor({\n isOptional,\n key,\n value,\n }: {\n isOptional: IsOptional;\n key: Key;\n value: Value;\n }) {\n super({ isOptional });\n if (key === undefined) {\n throwUndefinedValidatorError(\"v.record()\", \"key\");\n }\n if (value === undefined) {\n throwUndefinedValidatorError(\"v.record()\", \"value\");\n }\n if ((key.isOptional as OptionalProperty) === \"optional\") {\n throw new Error(\"Record validator cannot have optional keys\");\n }\n if ((value.isOptional as OptionalProperty) === \"optional\") {\n throw new Error(\"Record validator cannot have optional values\");\n }\n if (!key.isConvexValidator || !value.isConvexValidator) {\n throw new Error(\"Key and value of v.record() but be validators\");\n }\n this.key = key;\n this.value = value;\n }\n /** @internal */\n get json(): ValidatorJSON {\n return {\n type: this.kind,\n // This cast is needed because TypeScript thinks the key type is too wide\n keys: this.key.json as RecordKeyValidatorJSON,\n values: {\n fieldType: this.value.json,\n optional: false,\n },\n };\n }\n /** @internal */\n asOptional() {\n return new VRecord<Type | undefined, Key, Value, \"optional\", FieldPaths>({\n isOptional: \"optional\",\n key: this.key,\n value: this.value,\n });\n }\n}\n\n/**\n * The type of the `v.union()` validator.\n */\nexport class VUnion<\n Type,\n T extends Validator<any, \"required\", any>[],\n IsOptional extends OptionalProperty = \"required\",\n FieldPaths extends string = T[number][\"fieldPaths\"],\n> extends BaseValidator<Type, IsOptional, FieldPaths> {\n /**\n * The array of validators, one of which must match the value.\n */\n readonly members: T;\n\n /**\n * The kind of validator, `\"union\"`.\n */\n readonly kind = \"union\" as const;\n\n /**\n * Usually you'd use `v.union(...members)` instead.\n */\n constructor({ isOptional, members }: { isOptional: IsOptional; members: T }) {\n super({ isOptional });\n members.forEach((member, index) => {\n if (member === undefined) {\n throwUndefinedValidatorError(\"v.union()\", `member at index ${index}`);\n }\n if (!member.isConvexValidator) {\n throw new Error(\"All members of v.union() must be validators\");\n }\n });\n this.members = members;\n }\n /** @internal */\n get json(): ValidatorJSON {\n return {\n type: this.kind,\n value: this.members.map((v) => v.json),\n };\n }\n /** @internal */\n asOptional() {\n return new VUnion<Type | undefined, T, \"optional\">({\n isOptional: \"optional\",\n members: this.members,\n });\n }\n}\n\n// prettier-ignore\nexport type VOptional<T extends Validator<any, OptionalProperty, any>> =\n T extends VId<infer Type, OptionalProperty> ? VId<Type | undefined, \"optional\">\n : T extends VString<infer Type, OptionalProperty>\n ? VString<Type | undefined, \"optional\">\n : T extends VFloat64<infer Type, OptionalProperty>\n ? VFloat64<Type | undefined, \"optional\">\n : T extends VInt64<infer Type, OptionalProperty>\n ? VInt64<Type | undefined, \"optional\">\n : T extends VCommitTs<infer Type, OptionalProperty>\n ? VCommitTs<Type | undefined, \"optional\">\n : T extends VBoolean<infer Type, OptionalProperty>\n ? VBoolean<Type | undefined, \"optional\">\n : T extends VNull<infer Type, OptionalProperty>\n ? VNull<Type | undefined, \"optional\">\n : T extends VAny<infer Type, OptionalProperty>\n ? VAny<Type | undefined, \"optional\">\n : T extends VLiteral<infer Type, OptionalProperty>\n ? VLiteral<Type | undefined, \"optional\">\n : T extends VBytes<infer Type, OptionalProperty>\n ? VBytes<Type | undefined, \"optional\">\n : T extends VObject< infer Type, infer Fields, OptionalProperty, infer FieldPaths>\n ? VObject<Type | undefined, Fields, \"optional\", FieldPaths>\n : T extends VArray<infer Type, infer Element, OptionalProperty>\n ? VArray<Type | undefined, Element, \"optional\">\n : T extends VRecord< infer Type, infer Key, infer Value, OptionalProperty, infer FieldPaths>\n ? VRecord<Type | undefined, Key, Value, \"optional\", FieldPaths>\n : T extends VUnion<infer Type, infer Members, OptionalProperty, infer FieldPaths>\n ? VUnion<Type | undefined, Members, \"optional\", FieldPaths>\n : never\n\n/**\n * Type representing whether a property in an object is optional or required.\n *\n * @public\n */\nexport type OptionalProperty = \"optional\" | \"required\";\n\n/**\n * A validator for a Convex value.\n *\n * This should be constructed using the validator builder, {@link v}.\n *\n * A validator encapsulates:\n * - The TypeScript type of this value.\n * - Whether this field should be optional if it's included in an object.\n * - The TypeScript type for the set of index field paths that can be used to\n * build indexes on this value.\n * - A JSON representation of the validator.\n *\n * Specific types of validators contain additional information: for example\n * an `ArrayValidator` contains an `element` property with the validator\n * used to validate each element of the list. Use the shared 'kind' property\n * to identity the type of validator.\n *\n * More validators can be added in future releases so an exhaustive\n * switch statement on validator `kind` should be expected to break\n * in future releases of Convex.\n *\n * @public\n */\nexport type Validator<\n Type,\n IsOptional extends OptionalProperty = \"required\",\n FieldPaths extends string = never,\n> =\n | VId<Type, IsOptional>\n | VString<Type, IsOptional>\n | VFloat64<Type, IsOptional>\n | VInt64<Type, IsOptional>\n | VCommitTs<Type, IsOptional>\n | VBoolean<Type, IsOptional>\n | VNull<Type, IsOptional>\n | VAny<Type, IsOptional>\n | VLiteral<Type, IsOptional>\n | VBytes<Type, IsOptional>\n | VObject<\n Type,\n Record<string, Validator<any, OptionalProperty, any>>,\n IsOptional,\n FieldPaths\n >\n | VArray<Type, Validator<any, \"required\", any>, IsOptional>\n | VRecord<\n Type,\n Validator<string, \"required\", any>,\n Validator<any, \"required\", any>,\n IsOptional,\n FieldPaths\n >\n | VUnion<Type, Validator<any, \"required\", any>[], IsOptional, FieldPaths>;\n\n/**\n * Join together two index field paths.\n *\n * This is used within the validator builder, {@link v}.\n * @public\n */\nexport type JoinFieldPaths<\n Start extends string,\n End extends string,\n> = `${Start}.${End}`;\n\nexport type ObjectFieldType = { fieldType: ValidatorJSON; optional: boolean };\n\nexport type ValidatorJSON =\n | { type: \"null\" }\n | { type: \"number\" }\n | { type: \"bigint\" }\n | { type: \"commitTs\" }\n | { type: \"boolean\" }\n | { type: \"string\" }\n | { type: \"bytes\" }\n | { type: \"any\" }\n | { type: \"literal\"; value: JSONValue }\n | { type: \"id\"; tableName: string }\n | { type: \"array\"; value: ValidatorJSON }\n | {\n type: \"record\";\n keys: RecordKeyValidatorJSON;\n values: RecordValueValidatorJSON;\n }\n | { type: \"object\"; value: Record<string, ObjectFieldType> }\n | { type: \"union\"; value: ValidatorJSON[] };\n\nexport type RecordKeyValidatorJSON =\n | { type: \"string\" }\n | { type: \"id\"; tableName: string }\n | { type: \"union\"; value: RecordKeyValidatorJSON[] };\n\nexport type RecordValueValidatorJSON = ObjectFieldType & { optional: false };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Expand } from \"../type_utils.js\";\nimport { GenericId } from \"./index.js\";\nimport { GenericValidator, ObjectType } from \"./validator.js\";\nimport { CommitTsPlaceholder, JSONValue, convexToJson } from \"./value.js\";\n\ntype TableNameFromType<T> =\n T extends GenericId<infer TableName> ? TableName : string;\n\nconst UNDEFINED_VALIDATOR_ERROR_URL =\n \"https://docs.convex.dev/error#undefined-validator\";\n\nfunction throwUndefinedValidatorError(\n context: string,\n fieldName?: string,\n): never {\n const fieldInfo = fieldName !== undefined ? ` for field \"${fieldName}\"` : \"\";\n throw new Error(\n `A validator is undefined${fieldInfo} in ${context}. ` +\n `This is often caused by circular imports. ` +\n `See ${UNDEFINED_VALIDATOR_ERROR_URL} for details.`,\n );\n}\n\n/**\n * Avoid using `instanceof BaseValidator`; this is inheritence for code reuse\n * not type heirarchy.\n */\nabstract class BaseValidator<\n Type,\n IsOptional extends OptionalProperty = \"required\",\n FieldPaths extends string = never,\n> {\n /**\n * Only for TypeScript, the TS type of the JS values validated\n * by this validator.\n */\n readonly type!: Type;\n /**\n * Only for TypeScript, if this an Object validator, then\n * this is the TS type of its property names.\n */\n readonly fieldPaths!: FieldPaths;\n\n /**\n * Whether this is an optional Object property value validator.\n */\n readonly isOptional: IsOptional;\n\n /**\n * Always `\"true\"`.\n */\n readonly isConvexValidator: true;\n\n constructor({ isOptional }: { isOptional: IsOptional }) {\n this.isOptional = isOptional;\n this.isConvexValidator = true;\n }\n /** @internal */\n abstract get json(): ValidatorJSON;\n /** @internal */\n abstract asOptional(): Validator<Type | undefined, \"optional\", FieldPaths>;\n /** Allow this validated field to be absent. */\n abstract optional(): Validator<Type | undefined, \"optional\", FieldPaths>;\n}\n\n/**\n * The type of the `v.id(tableName)` validator.\n */\nexport class VId<\n Type,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The name of the table that the validated IDs must belong to.\n */\n readonly tableName: TableNameFromType<Type>;\n\n /**\n * The kind of validator, `\"id\"`.\n */\n readonly kind = \"id\" as const;\n\n /**\n * Usually you'd use `v.id(tableName)` instead.\n */\n constructor({\n isOptional,\n tableName,\n }: {\n isOptional: IsOptional;\n tableName: TableNameFromType<Type>;\n }) {\n super({ isOptional });\n if (typeof tableName !== \"string\") {\n throw new Error(\"v.id(tableName) requires a string\");\n }\n this.tableName = tableName;\n }\n /** @internal */\n get json(): ValidatorJSON {\n return { type: \"id\", tableName: this.tableName };\n }\n /** Allow this field to be validated as absent. */\n optional() {\n return new VId<Type | undefined, \"optional\">({\n isOptional: \"optional\",\n tableName: this.tableName,\n });\n }\n /** @internal */\n asOptional() {\n return this.optional();\n }\n}\n\n/**\n * The type of the `v.float64()` validator.\n */\nexport class VFloat64<\n Type = number,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The kind of validator, `\"float64\"`.\n */\n readonly kind = \"float64\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n // Server expects the old name `number` string instead of `float64`.\n return { type: \"number\" };\n }\n /** Allow this field to be validated as absent. */\n optional() {\n return new VFloat64<Type | undefined, \"optional\">({\n isOptional: \"optional\",\n });\n }\n /** @internal */\n asOptional() {\n return this.optional();\n }\n}\n\n/**\n * The type of the `v.int64()` validator.\n */\nexport class VInt64<\n Type = bigint,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The kind of validator, `\"int64\"`.\n */\n readonly kind = \"int64\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n // Server expects the old name `bigint`.\n return { type: \"bigint\" };\n }\n /** Allow this validated field to be absent. */\n optional() {\n return new VInt64<Type | undefined, \"optional\">({ isOptional: \"optional\" });\n }\n /** @internal */\n asOptional() {\n return this.optional();\n }\n}\n\n/**\n * The type of the `v.commitTs()` validator.\n */\nexport class VCommitTs<\n Type = bigint | CommitTsPlaceholder,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The kind of validator, `\"commitTs\"`.\n */\n readonly kind = \"commitTs\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n return { type: this.kind };\n }\n /** Allow this validated field to be absent. */\n optional() {\n return new VCommitTs<Type | undefined, \"optional\">({\n isOptional: \"optional\",\n });\n }\n /** @internal */\n asOptional() {\n return this.optional();\n }\n}\n\n/**\n * The type of the `v.boolean()` validator.\n */\nexport class VBoolean<\n Type = boolean,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The kind of validator, `\"boolean\"`.\n */\n readonly kind = \"boolean\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n return { type: this.kind };\n }\n /** Allow this validated field to be absent. */\n optional() {\n return new VBoolean<Type | undefined, \"optional\">({\n isOptional: \"optional\",\n });\n }\n /** @internal */\n asOptional() {\n return this.optional();\n }\n}\n\n/**\n * The type of the `v.bytes()` validator.\n */\nexport class VBytes<\n Type = ArrayBuffer,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The kind of validator, `\"bytes\"`.\n */\n readonly kind = \"bytes\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n return { type: this.kind };\n }\n /** Allow this validated field to be absent. */\n optional() {\n return new VBytes<Type | undefined, \"optional\">({ isOptional: \"optional\" });\n }\n /** @internal */\n asOptional() {\n return this.optional();\n }\n}\n\n/**\n * The type of the `v.string()` validator.\n */\nexport class VString<\n Type = string,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The kind of validator, `\"string\"`.\n */\n readonly kind = \"string\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n return { type: this.kind };\n }\n /** Allow this validated field to be absent. */\n optional() {\n return new VString<Type | undefined, \"optional\">({\n isOptional: \"optional\",\n });\n }\n /** @internal */\n asOptional() {\n return this.optional();\n }\n}\n\n/**\n * The type of the `v.null()` validator.\n */\nexport class VNull<\n Type = null,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The kind of validator, `\"null\"`.\n */\n readonly kind = \"null\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n return { type: this.kind };\n }\n /** Allow this validated field to be absent. */\n optional() {\n return new VNull<Type | undefined, \"optional\">({ isOptional: \"optional\" });\n }\n /** @internal */\n asOptional() {\n return this.optional();\n }\n}\n\n/**\n * The type of the `v.any()` validator.\n */\nexport class VAny<\n Type = any,\n IsOptional extends OptionalProperty = \"required\",\n FieldPaths extends string = string,\n> extends BaseValidator<Type, IsOptional, FieldPaths> {\n /**\n * The kind of validator, `\"any\"`.\n */\n readonly kind = \"any\" as const;\n\n /** @internal */\n get json(): ValidatorJSON {\n return {\n type: this.kind,\n };\n }\n /** Allow this validated field to be absent. */\n optional() {\n return new VAny<Type | undefined, \"optional\", FieldPaths>({\n isOptional: \"optional\",\n });\n }\n /** @internal */\n asOptional() {\n return this.optional();\n }\n}\n\n/**\n * The type of the `v.object()` validator.\n */\nexport class VObject<\n Type,\n Fields extends Record<string, GenericValidator>,\n IsOptional extends OptionalProperty = \"required\",\n FieldPaths extends string = {\n [Property in keyof Fields]:\n | JoinFieldPaths<Property & string, Fields[Property][\"fieldPaths\"]>\n | Property;\n }[keyof Fields] &\n string,\n> extends BaseValidator<Type, IsOptional, FieldPaths> {\n /**\n * An object with the validator for each property.\n */\n readonly fields: Fields;\n\n /**\n * The kind of validator, `\"object\"`.\n */\n readonly kind = \"object\" as const;\n\n /**\n * Usually you'd use `v.object({ ... })` instead.\n */\n constructor({\n isOptional,\n fields,\n }: {\n isOptional: IsOptional;\n fields: Fields;\n }) {\n super({ isOptional });\n globalThis.Object.entries(fields).forEach(([fieldName, validator]) => {\n if (validator === undefined) {\n throwUndefinedValidatorError(\"v.object()\", fieldName);\n }\n if (!validator.isConvexValidator) {\n throw new Error(\"v.object() entries must be validators\");\n }\n });\n this.fields = fields;\n }\n /** @internal */\n get json(): ValidatorJSON {\n return {\n type: this.kind,\n value: globalThis.Object.fromEntries(\n globalThis.Object.entries(this.fields).map(([k, v]) => [\n k,\n {\n fieldType: v.json,\n optional: v.isOptional === \"optional\" ? true : false,\n },\n ]),\n ),\n };\n }\n /** Allow this validated field to be absent. */\n optional() {\n return new VObject<Type | undefined, Fields, \"optional\", FieldPaths>({\n isOptional: \"optional\",\n fields: this.fields,\n });\n }\n /** @internal */\n asOptional() {\n return this.optional();\n }\n\n /**\n * Create a new VObject with the specified fields omitted.\n * @param fields The field names to omit from this VObject.\n */\n omit<K extends keyof Fields & string>(\n ...fields: K[]\n ): VObject<Expand<Omit<Type, K>>, Expand<Omit<Fields, K>>, IsOptional> {\n const newFields = { ...this.fields };\n for (const field of fields) {\n delete newFields[field];\n }\n return new VObject({\n isOptional: this.isOptional,\n fields: newFields as any,\n });\n }\n\n /**\n * Create a new VObject with only the specified fields.\n * @param fields The field names to pick from this VObject.\n */\n pick<K extends keyof Fields & string>(\n ...fields: K[]\n ): VObject<\n Expand<Pick<Type, Extract<keyof Type, K>>>,\n Expand<Pick<Fields, K>>,\n IsOptional\n > {\n const newFields: Record<string, GenericValidator> = {};\n for (const field of fields) {\n newFields[field] = this.fields[field];\n }\n return new VObject({\n isOptional: this.isOptional,\n fields: newFields as Expand<Pick<Fields, K>>,\n });\n }\n\n /**\n * Create a new VObject with all fields marked as optional.\n */\n partial(): VObject<\n { [K in keyof Type]?: Type[K] },\n { [K in keyof Fields]: VOptional<Fields[K]> },\n IsOptional\n > {\n const newFields: Record<string, GenericValidator> = {};\n for (const [key, validator] of globalThis.Object.entries(this.fields)) {\n newFields[key] = validator.asOptional();\n }\n return new VObject({\n isOptional: this.isOptional,\n fields: newFields as {\n [K in keyof Fields]: VOptional<Fields[K]>;\n },\n });\n }\n\n /**\n * Create a new VObject with additional fields merged in.\n * @param fields An object with additional validators to merge into this VObject.\n */\n extend<NewFields extends Record<string, GenericValidator>>(\n fields: NewFields,\n ): VObject<\n Expand<Type & ObjectType<NewFields>>,\n Expand<Fields & NewFields>,\n IsOptional\n > {\n return new VObject({\n isOptional: this.isOptional,\n fields: { ...this.fields, ...fields } as Expand<Fields & NewFields>,\n });\n }\n}\n\n/**\n * The type of the `v.literal()` validator.\n */\nexport class VLiteral<\n Type,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The value that the validated values must be equal to.\n */\n readonly value: Type;\n\n /**\n * The kind of validator, `\"literal\"`.\n */\n readonly kind = \"literal\" as const;\n\n /**\n * Usually you'd use `v.literal(value)` instead.\n */\n constructor({ isOptional, value }: { isOptional: IsOptional; value: Type }) {\n super({ isOptional });\n if (\n typeof value !== \"string\" &&\n typeof value !== \"boolean\" &&\n typeof value !== \"number\" &&\n typeof value !== \"bigint\"\n ) {\n throw new Error(\"v.literal(value) must be a string, number, or boolean\");\n }\n this.value = value;\n }\n /** @internal */\n get json(): ValidatorJSON {\n return {\n type: this.kind,\n value: convexToJson(this.value as string | boolean | number | bigint),\n };\n }\n /** Allow this validated field to be absent. */\n optional() {\n return new VLiteral<Type | undefined, \"optional\">({\n isOptional: \"optional\",\n value: this.value,\n });\n }\n /** @internal */\n asOptional() {\n return this.optional();\n }\n}\n\n/**\n * The type of the `v.array()` validator.\n */\nexport class VArray<\n Type,\n Element extends Validator<any, \"required\", any>,\n IsOptional extends OptionalProperty = \"required\",\n> extends BaseValidator<Type, IsOptional> {\n /**\n * The validator for the elements of the array.\n */\n readonly element: Element;\n\n /**\n * The kind of validator, `\"array\"`.\n */\n readonly kind = \"array\" as const;\n\n /**\n * Usually you'd use `v.array(element)` instead.\n */\n constructor({\n isOptional,\n element,\n }: {\n isOptional: IsOptional;\n element: Element;\n }) {\n super({ isOptional });\n if (element === undefined) {\n throwUndefinedValidatorError(\"v.array()\");\n }\n this.element = element;\n }\n /** @internal */\n get json(): ValidatorJSON {\n return {\n type: this.kind,\n value: this.element.json,\n };\n }\n /** Allow this validated field to be absent. */\n optional() {\n return new VArray<Type | undefined, Element, \"optional\">({\n isOptional: \"optional\",\n element: this.element,\n });\n }\n /** @internal */\n asOptional() {\n return this.optional();\n }\n}\n\n/**\n * The type of the `v.record()` validator.\n */\nexport class VRecord<\n Type,\n Key extends Validator<string, \"required\", any>,\n Value extends Validator<any, \"required\", any>,\n IsOptional extends OptionalProperty = \"required\",\n FieldPaths extends string = string,\n> extends BaseValidator<Type, IsOptional, FieldPaths> {\n /**\n * The validator for the keys of the record.\n */\n readonly key: Key;\n\n /**\n * The validator for the values of the record.\n */\n readonly value: Value;\n\n /**\n * The kind of validator, `\"record\"`.\n */\n readonly kind = \"record\" as const;\n\n /**\n * Usually you'd use `v.record(key, value)` instead.\n */\n constructor({\n isOptional,\n key,\n value,\n }: {\n isOptional: IsOptional;\n key: Key;\n value: Value;\n }) {\n super({ isOptional });\n if (key === undefined) {\n throwUndefinedValidatorError(\"v.record()\", \"key\");\n }\n if (value === undefined) {\n throwUndefinedValidatorError(\"v.record()\", \"value\");\n }\n if ((key.isOptional as OptionalProperty) === \"optional\") {\n throw new Error(\"Record validator cannot have optional keys\");\n }\n if ((value.isOptional as OptionalProperty) === \"optional\") {\n throw new Error(\"Record validator cannot have optional values\");\n }\n if (!key.isConvexValidator || !value.isConvexValidator) {\n throw new Error(\"Key and value of v.record() but be validators\");\n }\n this.key = key;\n this.value = value;\n }\n /** @internal */\n get json(): ValidatorJSON {\n return {\n type: this.kind,\n // This cast is needed because TypeScript thinks the key type is too wide\n keys: this.key.json as RecordKeyValidatorJSON,\n values: {\n fieldType: this.value.json,\n optional: false,\n },\n };\n }\n /** Allow this validated field to be absent. */\n optional() {\n return new VRecord<Type | undefined, Key, Value, \"optional\", FieldPaths>({\n isOptional: \"optional\",\n key: this.key,\n value: this.value,\n });\n }\n /** @internal */\n asOptional() {\n return this.optional();\n }\n}\n\n/**\n * The type of the `v.union()` validator.\n */\nexport class VUnion<\n Type,\n T extends Validator<any, \"required\", any>[],\n IsOptional extends OptionalProperty = \"required\",\n FieldPaths extends string = T[number][\"fieldPaths\"],\n> extends BaseValidator<Type, IsOptional, FieldPaths> {\n /**\n * The array of validators, one of which must match the value.\n */\n readonly members: T;\n\n /**\n * The kind of validator, `\"union\"`.\n */\n readonly kind = \"union\" as const;\n\n /**\n * Usually you'd use `v.union(...members)` instead.\n */\n constructor({ isOptional, members }: { isOptional: IsOptional; members: T }) {\n super({ isOptional });\n members.forEach((member, index) => {\n if (member === undefined) {\n throwUndefinedValidatorError(\"v.union()\", `member at index ${index}`);\n }\n if (!member.isConvexValidator) {\n throw new Error(\"All members of v.union() must be validators\");\n }\n });\n this.members = members;\n }\n /** @internal */\n get json(): ValidatorJSON {\n return {\n type: this.kind,\n value: this.members.map((v) => v.json),\n };\n }\n /** Allow this validated field to be absent. */\n optional() {\n return new VUnion<Type | undefined, T, \"optional\", FieldPaths>({\n isOptional: \"optional\",\n members: this.members,\n });\n }\n /** @internal */\n asOptional() {\n return this.optional();\n }\n}\n\n// prettier-ignore\nexport type VOptional<T extends Validator<any, OptionalProperty, any>> =\n T extends VId<infer Type, OptionalProperty> ? VId<Type | undefined, \"optional\">\n : T extends VString<infer Type, OptionalProperty>\n ? VString<Type | undefined, \"optional\">\n : T extends VFloat64<infer Type, OptionalProperty>\n ? VFloat64<Type | undefined, \"optional\">\n : T extends VInt64<infer Type, OptionalProperty>\n ? VInt64<Type | undefined, \"optional\">\n : T extends VCommitTs<infer Type, OptionalProperty>\n ? VCommitTs<Type | undefined, \"optional\">\n : T extends VBoolean<infer Type, OptionalProperty>\n ? VBoolean<Type | undefined, \"optional\">\n : T extends VNull<infer Type, OptionalProperty>\n ? VNull<Type | undefined, \"optional\">\n : T extends VAny<infer Type, OptionalProperty>\n ? VAny<Type | undefined, \"optional\">\n : T extends VLiteral<infer Type, OptionalProperty>\n ? VLiteral<Type | undefined, \"optional\">\n : T extends VBytes<infer Type, OptionalProperty>\n ? VBytes<Type | undefined, \"optional\">\n : T extends VObject< infer Type, infer Fields, OptionalProperty, infer FieldPaths>\n ? VObject<Type | undefined, Fields, \"optional\", FieldPaths>\n : T extends VArray<infer Type, infer Element, OptionalProperty>\n ? VArray<Type | undefined, Element, \"optional\">\n : T extends VRecord< infer Type, infer Key, infer Value, OptionalProperty, infer FieldPaths>\n ? VRecord<Type | undefined, Key, Value, \"optional\", FieldPaths>\n : T extends VUnion<infer Type, infer Members, OptionalProperty, infer FieldPaths>\n ? VUnion<Type | undefined, Members, \"optional\", FieldPaths>\n : never\n\n/**\n * Type representing whether a property in an object is optional or required.\n *\n * @public\n */\nexport type OptionalProperty = \"optional\" | \"required\";\n\n/**\n * A validator for a Convex value.\n *\n * This should be constructed using the validator builder, {@link v}.\n *\n * A validator encapsulates:\n * - The TypeScript type of this value.\n * - Whether this field should be optional if it's included in an object.\n * - The TypeScript type for the set of index field paths that can be used to\n * build indexes on this value.\n * - A JSON representation of the validator.\n *\n * Specific types of validators contain additional information: for example\n * an `ArrayValidator` contains an `element` property with the validator\n * used to validate each element of the list. Use the shared 'kind' property\n * to identity the type of validator.\n *\n * More validators can be added in future releases so an exhaustive\n * switch statement on validator `kind` should be expected to break\n * in future releases of Convex.\n *\n * @public\n */\nexport type Validator<\n Type,\n IsOptional extends OptionalProperty = \"required\",\n FieldPaths extends string = never,\n> =\n | VId<Type, IsOptional>\n | VString<Type, IsOptional>\n | VFloat64<Type, IsOptional>\n | VInt64<Type, IsOptional>\n | VCommitTs<Type, IsOptional>\n | VBoolean<Type, IsOptional>\n | VNull<Type, IsOptional>\n | VAny<Type, IsOptional>\n | VLiteral<Type, IsOptional>\n | VBytes<Type, IsOptional>\n | VObject<\n Type,\n Record<string, Validator<any, OptionalProperty, any>>,\n IsOptional,\n FieldPaths\n >\n | VArray<Type, Validator<any, \"required\", any>, IsOptional>\n | VRecord<\n Type,\n Validator<string, \"required\", any>,\n Validator<any, \"required\", any>,\n IsOptional,\n FieldPaths\n >\n | VUnion<Type, Validator<any, \"required\", any>[], IsOptional, FieldPaths>;\n\n/**\n * Join together two index field paths.\n *\n * This is used within the validator builder, {@link v}.\n * @public\n */\nexport type JoinFieldPaths<\n Start extends string,\n End extends string,\n> = `${Start}.${End}`;\n\nexport type ObjectFieldType = { fieldType: ValidatorJSON; optional: boolean };\n\nexport type ValidatorJSON =\n | { type: \"null\" }\n | { type: \"number\" }\n | { type: \"bigint\" }\n | { type: \"commitTs\" }\n | { type: \"boolean\" }\n | { type: \"string\" }\n | { type: \"bytes\" }\n | { type: \"any\" }\n | { type: \"literal\"; value: JSONValue }\n | { type: \"id\"; tableName: string }\n | { type: \"array\"; value: ValidatorJSON }\n | {\n type: \"record\";\n keys: RecordKeyValidatorJSON;\n values: RecordValueValidatorJSON;\n }\n | { type: \"object\"; value: Record<string, ObjectFieldType> }\n | { type: \"union\"; value: ValidatorJSON[] };\n\nexport type RecordKeyValidatorJSON =\n | { type: \"string\" }\n | { type: \"id\"; tableName: string }\n | { type: \"union\"; value: RecordKeyValidatorJSON[] };\n\nexport type RecordValueValidatorJSON = ObjectFieldType & { optional: false };\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- import { FunctionReference, FunctionReturnType, OptionalRestArgs } from "../server/api.js";
1
+ import { FunctionReturnType, OptionalRestArgs, FunctionReference, FunctionReference_future } from "../server/api.js";
2
2
  import { Logger } from "./logging.js";
3
3
  import { ArgsAndOptions } from "../server/index.js";
4
4
  export declare const STATUS_CODE_OK = 200;
@@ -106,7 +106,7 @@ export declare class ConvexHttpClient {
106
106
  *
107
107
  * @deprecated This API is experimental: it may change or disappear.
108
108
  */
109
- consistentQuery<Query extends FunctionReference<"query">>(query: Query, ...args: OptionalRestArgs<Query>): Promise<FunctionReturnType<Query>>;
109
+ consistentQuery<Query extends FunctionReference<"query"> | FunctionReference_future<"query">>(query: Query, ...args: OptionalRestArgs<Query>): Promise<FunctionReturnType<Query>>;
110
110
  private getTimestamp;
111
111
  private getTimestampInner;
112
112
  /**
@@ -117,7 +117,7 @@ export declare class ConvexHttpClient {
117
117
  * the arguments will be `{}`.
118
118
  * @returns A promise of the query's result.
119
119
  */
120
- query<Query extends FunctionReference<"query">>(query: Query, ...args: OptionalRestArgs<Query>): Promise<FunctionReturnType<Query>>;
120
+ query<Query extends FunctionReference<"query"> | FunctionReference_future<"query">>(query: Query, ...args: OptionalRestArgs<Query>): Promise<FunctionReturnType<Query>>;
121
121
  private queryInner;
122
122
  private mutationInner;
123
123
  private processMutationQueue;
@@ -131,7 +131,7 @@ export declare class ConvexHttpClient {
131
131
  * @param options - An optional object containing
132
132
  * @returns A promise of the mutation's result.
133
133
  */
134
- mutation<Mutation extends FunctionReference<"mutation">>(mutation: Mutation, ...args: ArgsAndOptions<Mutation, HttpMutationOptions>): Promise<FunctionReturnType<Mutation>>;
134
+ mutation<Mutation extends FunctionReference<"mutation"> | FunctionReference_future<"mutation">>(mutation: Mutation, ...args: ArgsAndOptions<Mutation, HttpMutationOptions>): Promise<FunctionReturnType<Mutation>>;
135
135
  /**
136
136
  * Execute a Convex action function. Actions are not queued.
137
137
  *
@@ -140,6 +140,6 @@ export declare class ConvexHttpClient {
140
140
  * the arguments will be `{}`.
141
141
  * @returns A promise of the action's result.
142
142
  */
143
- action<Action extends FunctionReference<"action">>(action: Action, ...args: OptionalRestArgs<Action>): Promise<FunctionReturnType<Action>>;
143
+ action<Action extends FunctionReference<"action"> | FunctionReference_future<"action">>(action: Action, ...args: OptionalRestArgs<Action>): Promise<FunctionReturnType<Action>>;
144
144
  }
145
145
  //# sourceMappingURL=http_client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http_client.d.ts","sourceRoot":"","sources":["../../../src/browser/http_client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAEjB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAIL,MAAM,EACP,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EAGf,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAI3C,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAI1C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,QAElD;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,KAAK,CAAC,CAAsC;IACpD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAKb;IACR,OAAO,CAAC,iBAAiB,CAAkB;IAE3C;;;;;;;;;;;;;;;;;;OAkBG;gBAED,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,4BAA4B,CAAC,EAAE,OAAO,CAAC;QACvC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;KACjC;IA2BH;;;;;OAKG;IACH,UAAU,IAAI,MAAM;IAIpB;;;;;OAKG;IACH,IAAI,GAAG,WAEN;IAED;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM;IAuBrB;;OAEG;IACH,SAAS;IAuBT;;;;;;;;;;;;;;;;;;OAkBG;IACG,eAAe,CAAC,KAAK,SAAS,iBAAiB,CAAC,OAAO,CAAC,EAC5D,KAAK,EAAE,KAAK,EACZ,GAAG,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAC/B,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAOvB,YAAY;YAOZ,iBAAiB;IAmB/B;;;;;;;OAOG;IACG,KAAK,CAAC,KAAK,SAAS,iBAAiB,CAAC,OAAO,CAAC,EAClD,KAAK,EAAE,KAAK,EACZ,GAAG,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAC/B,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAKvB,UAAU;YAgEV,aAAa;YAmDb,oBAAoB;IAkBlC,OAAO,CAAC,eAAe;IAUvB;;;;;;;;OAQG;IACG,QAAQ,CAAC,QAAQ,SAAS,iBAAiB,CAAC,UAAU,CAAC,EAC3D,QAAQ,EAAE,QAAQ,EAClB,GAAG,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE,mBAAmB,CAAC,GACrD,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAYxC;;;;;;;OAOG;IACG,MAAM,CAAC,MAAM,SAAS,iBAAiB,CAAC,QAAQ,CAAC,EACrD,MAAM,EAAE,MAAM,EACd,GAAG,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAChC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;CAqHvC"}
1
+ {"version":3,"file":"http_client.d.ts","sourceRoot":"","sources":["../../../src/browser/http_client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAEhB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAIL,MAAM,EACP,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EAGf,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAI3C,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAI1C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,QAElD;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,KAAK,CAAC,CAAsC;IACpD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAOb;IACR,OAAO,CAAC,iBAAiB,CAAkB;IAE3C;;;;;;;;;;;;;;;;;;OAkBG;gBAED,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,4BAA4B,CAAC,EAAE,OAAO,CAAC;QACvC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;KACjC;IA2BH;;;;;OAKG;IACH,UAAU,IAAI,MAAM;IAIpB;;;;;OAKG;IACH,IAAI,GAAG,WAEN;IAED;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM;IAuBrB;;OAEG;IACH,SAAS;IAuBT;;;;;;;;;;;;;;;;;;OAkBG;IACG,eAAe,CACnB,KAAK,SACD,iBAAiB,CAAC,OAAO,CAAC,GAC1B,wBAAwB,CAAC,OAAO,CAAC,EAErC,KAAK,EAAE,KAAK,EACZ,GAAG,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAC/B,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAOvB,YAAY;YAOZ,iBAAiB;IAmB/B;;;;;;;OAOG;IACG,KAAK,CACT,KAAK,SACD,iBAAiB,CAAC,OAAO,CAAC,GAC1B,wBAAwB,CAAC,OAAO,CAAC,EAErC,KAAK,EAAE,KAAK,EACZ,GAAG,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAC/B,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAKvB,UAAU;YAoEV,aAAa;YAuDb,oBAAoB;IAkBlC,OAAO,CAAC,eAAe;IAcvB;;;;;;;;OAQG;IACG,QAAQ,CACZ,QAAQ,SACJ,iBAAiB,CAAC,UAAU,CAAC,GAC7B,wBAAwB,CAAC,UAAU,CAAC,EAExC,QAAQ,EAAE,QAAQ,EAClB,GAAG,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE,mBAAmB,CAAC,GACrD,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAYxC;;;;;;;OAOG;IACG,MAAM,CACV,MAAM,SACF,iBAAiB,CAAC,QAAQ,CAAC,GAC3B,wBAAwB,CAAC,QAAQ,CAAC,EAEtC,MAAM,EAAE,MAAM,EACd,GAAG,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAChC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;CAuHvC"}
@@ -1,4 +1,4 @@
1
- import type { FunctionArgs, FunctionReference } from "../server/api.js";
1
+ import type { FunctionArgs, FunctionReference, FunctionReference_future } from "../server/api.js";
2
2
  /**
3
3
  * Options for a Convex query: the query function reference and its arguments.
4
4
  *
@@ -6,7 +6,7 @@ import type { FunctionArgs, FunctionReference } from "../server/api.js";
6
6
  *
7
7
  * @public
8
8
  */
9
- export type QueryOptions<Query extends FunctionReference<"query">> = {
9
+ export type QueryOptions<Query extends FunctionReference<"query"> | FunctionReference_future<"query">> = {
10
10
  /**
11
11
  * The query function to run.
12
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"query_options.d.ts","sourceRoot":"","sources":["../../../src/browser/query_options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAExE;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,iBAAiB,CAAC,OAAO,CAAC,IAAI;IACnE;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"query_options.d.ts","sourceRoot":"","sources":["../../../src/browser/query_options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CACtB,KAAK,SAAS,iBAAiB,CAAC,OAAO,CAAC,GAAG,wBAAwB,CAAC,OAAO,CAAC,IAC1E;IACF;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;CAC3B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { FunctionArgs, FunctionReference, FunctionReturnType, PaginationResult } from "../server/index.js";
1
+ import { FunctionArgs, FunctionReturnType, PaginationResult, FunctionReference, FunctionReference_future } from "../server/index.js";
2
2
  import { AuthTokenFetcher } from "./sync/authentication_manager.js";
3
3
  import { BaseConvexClient, BaseConvexClientOptions, ConnectionState, MutationOptions } from "./sync/client.js";
4
4
  import { PaginatedQueryResult } from "./sync/pagination.js";
@@ -98,7 +98,7 @@ export declare class ConvexClient {
98
98
  *
99
99
  * @return an {@link Unsubscribe} function to stop calling the onUpdate function.
100
100
  */
101
- onUpdate<Query extends FunctionReference<"query">>(query: Query, args: FunctionArgs<Query>, callback: (result: FunctionReturnType<Query>) => unknown, onError?: (e: Error) => unknown): Unsubscribe<Query["_returnType"]>;
101
+ onUpdate<Query extends FunctionReference<"query"> | FunctionReference_future<"query">>(query: Query, args: FunctionArgs<Query>, callback: (result: FunctionReturnType<Query>) => unknown, onError?: (e: Error) => unknown): Unsubscribe<FunctionReturnType<Query>>;
102
102
  /**
103
103
  * Call a callback whenever a new result for a paginated query is received.
104
104
  *
@@ -114,7 +114,7 @@ export declare class ConvexClient {
114
114
  *
115
115
  * @return an {@link Unsubscribe} function to stop calling the callback.
116
116
  */
117
- onPaginatedUpdate_experimental<Query extends FunctionReference<"query">>(query: Query, args: FunctionArgs<Query>, options: {
117
+ onPaginatedUpdate_experimental<Query extends FunctionReference<"query"> | FunctionReference_future<"query">>(query: Query, args: FunctionArgs<Query>, options: {
118
118
  initialNumItems: number;
119
119
  }, callback: (result: PaginationResult<FunctionReturnType<Query>>) => unknown, onError?: (e: Error) => unknown): Unsubscribe<PaginatedQueryResult<FunctionReturnType<Query>[]>>;
120
120
  private callNewListenersWithCurrentValues;
@@ -146,7 +146,7 @@ export declare class ConvexClient {
146
146
  * @param options - A {@link MutationOptions} options object for the mutation.
147
147
  * @returns A promise of the mutation's result.
148
148
  */
149
- mutation<Mutation extends FunctionReference<"mutation">>(mutation: Mutation, args: FunctionArgs<Mutation>, options?: MutationOptions): Promise<Awaited<FunctionReturnType<Mutation>>>;
149
+ mutation<Mutation extends FunctionReference<"mutation"> | FunctionReference_future<"mutation">>(mutation: Mutation, args: FunctionArgs<Mutation>, options?: MutationOptions): Promise<Awaited<FunctionReturnType<Mutation>>>;
150
150
  /**
151
151
  * Execute an action function.
152
152
  *
@@ -155,7 +155,7 @@ export declare class ConvexClient {
155
155
  * @param args - An arguments object for the action.
156
156
  * @returns A promise of the action's result.
157
157
  */
158
- action<Action extends FunctionReference<"action">>(action: Action, args: FunctionArgs<Action>): Promise<Awaited<FunctionReturnType<Action>>>;
158
+ action<Action extends FunctionReference<"action"> | FunctionReference_future<"action">>(action: Action, args: FunctionArgs<Action>): Promise<Awaited<FunctionReturnType<Action>>>;
159
159
  /**
160
160
  * Fetch a query result once.
161
161
  *
@@ -164,7 +164,7 @@ export declare class ConvexClient {
164
164
  * @param args - An arguments object for the query.
165
165
  * @returns A promise of the query's result.
166
166
  */
167
- query<Query extends FunctionReference<"query">>(query: Query, args: Query["_args"]): Promise<Awaited<Query["_returnType"]>>;
167
+ query<Query extends FunctionReference<"query"> | FunctionReference_future<"query">>(query: Query, args: FunctionArgs<Query>): Promise<Awaited<FunctionReturnType<Query>>>;
168
168
  /**
169
169
  * Get the current {@link ConnectionState} between the client and the Convex
170
170
  * backend.
@@ -1 +1 @@
1
- {"version":3,"file":"simple_client.d.ts","sourceRoot":"","sources":["../../../src/browser/simple_client.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAa5D,eAAe;AACf,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,OAAO,SAAS,QAElE;AAED,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG;IAC1D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,2HAA2H;IAC3H,IAAI,IAAI,CAAC;IACT,2HAA2H;IAC3H,WAAW,IAAI,IAAI,CAAC;IACpB,gFAAgF;IAChF,eAAe,IAAI,CAAC,GAAG,SAAS,CAAC;CAGlC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,gBAAgB,CAAmC;IAE3D,OAAO,CAAC,sCAAsC,CAEhC;IACd,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,SAAS,CAAU;IAC3B;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IACD,IAAI,MAAM,IAAI,gBAAgB,CAG7B;IAQD,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB;IAkC9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,QAAQ,CAAC,KAAK,SAAS,iBAAiB,CAAC,OAAO,CAAC,EAC/C,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,EACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,OAAO,EACxD,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,GAC9B,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IA0DpC;;;;;;;;;;;;;;OAcG;IACH,8BAA8B,CAAC,KAAK,SAAS,iBAAiB,CAAC,OAAO,CAAC,EACrE,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,EACzB,OAAO,EAAE;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,EACpC,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,KAAK,OAAO,EAC1E,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,GAC9B,WAAW,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IA6EjE,OAAO,CAAC,iCAAiC;IAKzC,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,yBAAyB;IAW3B,KAAK;IAWX;;OAEG;IACH,OAAO,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,SAAS;IAKtE;;;;;;;OAOG;IACH,OAAO,CACL,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI;IAoF/C;;;;;;;;OAQG;IACG,QAAQ,CAAC,QAAQ,SAAS,iBAAiB,CAAC,UAAU,CAAC,EAC3D,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC5B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAKjD;;;;;;;OAOG;IACG,MAAM,CAAC,MAAM,SAAS,iBAAiB,CAAC,QAAQ,CAAC,EACrD,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GACzB,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAK/C;;;;;;;OAOG;IACG,KAAK,CAAC,KAAK,SAAS,iBAAiB,CAAC,OAAO,CAAC,EAClD,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GACnB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IAuBzC;;;;;OAKG;IACH,eAAe,IAAI,eAAe;IAKlC;;;;;;;;;OASG;IACH,0BAA0B,CACxB,EAAE,EAAE,CAAC,eAAe,EAAE,eAAe,KAAK,IAAI,GAC7C,MAAM,IAAI;CAId"}
1
+ {"version":3,"file":"simple_client.d.ts","sourceRoot":"","sources":["../../../src/browser/simple_client.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAa5D,eAAe;AACf,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,OAAO,SAAS,QAElE;AAED,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG;IAC1D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,2HAA2H;IAC3H,IAAI,IAAI,CAAC;IACT,2HAA2H;IAC3H,WAAW,IAAI,IAAI,CAAC;IACpB,gFAAgF;IAChF,eAAe,IAAI,CAAC,GAAG,SAAS,CAAC;CAGlC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,gBAAgB,CAAmC;IAE3D,OAAO,CAAC,sCAAsC,CAEhC;IACd,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,SAAS,CAAU;IAC3B;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IACD,IAAI,MAAM,IAAI,gBAAgB,CAG7B;IAQD,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB;IAkC9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,QAAQ,CACN,KAAK,SACD,iBAAiB,CAAC,OAAO,CAAC,GAC1B,wBAAwB,CAAC,OAAO,CAAC,EAErC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,EACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,OAAO,EACxD,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,GAC9B,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IA0DzC;;;;;;;;;;;;;;OAcG;IACH,8BAA8B,CAC5B,KAAK,SACD,iBAAiB,CAAC,OAAO,CAAC,GAC1B,wBAAwB,CAAC,OAAO,CAAC,EAErC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,EACzB,OAAO,EAAE;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,EACpC,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,KAAK,OAAO,EAC1E,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,GAC9B,WAAW,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IA6EjE,OAAO,CAAC,iCAAiC;IAKzC,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,yBAAyB;IAW3B,KAAK;IAWX;;OAEG;IACH,OAAO,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,SAAS;IAKtE;;;;;;;OAOG;IACH,OAAO,CACL,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI;IAoF/C;;;;;;;;OAQG;IACG,QAAQ,CACZ,QAAQ,SACJ,iBAAiB,CAAC,UAAU,CAAC,GAC7B,wBAAwB,CAAC,UAAU,CAAC,EAExC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC5B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAKjD;;;;;;;OAOG;IACG,MAAM,CACV,MAAM,SACF,iBAAiB,CAAC,QAAQ,CAAC,GAC3B,wBAAwB,CAAC,QAAQ,CAAC,EAEtC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GACzB,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAK/C;;;;;;;OAOG;IACG,KAAK,CACT,KAAK,SACD,iBAAiB,CAAC,OAAO,CAAC,GAC1B,wBAAwB,CAAC,OAAO,CAAC,EAErC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,GACxB,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IAuB9C;;;;;OAKG;IACH,eAAe,IAAI,eAAe;IAKlC;;;;;;;;;OASG;IACH,0BAA0B,CACxB,EAAE,EAAE,CAAC,eAAe,EAAE,eAAe,KAAK,IAAI,GAC7C,MAAM,IAAI;CAId"}
@@ -1,5 +1,5 @@
1
1
  import { Value } from "../../values/index.js";
2
- import { FunctionArgs, FunctionReference, FunctionReturnType, OptionalRestArgs } from "../../server/api.js";
2
+ import { FunctionArgs, FunctionReturnType, OptionalRestArgs, FunctionReference, FunctionReference_future } from "../../server/api.js";
3
3
  /**
4
4
  * A view of the query results currently in the Convex client for use within
5
5
  * optimistic updates.
@@ -19,7 +19,7 @@ export interface OptimisticLocalStore {
19
19
  * @returns The query result or `undefined` if the query is not currently
20
20
  * in the client.
21
21
  */
22
- getQuery<Query extends FunctionReference<"query">>(query: Query, ...args: OptionalRestArgs<Query>): undefined | FunctionReturnType<Query>;
22
+ getQuery<Query extends FunctionReference<"query"> | FunctionReference_future<"query">>(query: Query, ...args: OptionalRestArgs<Query>): undefined | FunctionReturnType<Query>;
23
23
  /**
24
24
  * Retrieve the results and arguments of all queries with a given name.
25
25
  *
@@ -36,7 +36,7 @@ export interface OptimisticLocalStore {
36
36
  * - `args` - The arguments object for the query.
37
37
  * - `value` The query result or `undefined` if the query is loading.
38
38
  */
39
- getAllQueries<Query extends FunctionReference<"query">>(query: Query): {
39
+ getAllQueries<Query extends FunctionReference<"query"> | FunctionReference_future<"query">>(query: Query): {
40
40
  args: FunctionArgs<Query>;
41
41
  value: undefined | FunctionReturnType<Query>;
42
42
  }[];
@@ -53,7 +53,7 @@ export interface OptimisticLocalStore {
53
53
  * @param value - The new value to set the query to or `undefined` to remove
54
54
  * it from the client.
55
55
  */
56
- setQuery<Query extends FunctionReference<"query">>(query: Query, args: FunctionArgs<Query>, value: undefined | FunctionReturnType<Query>): void;
56
+ setQuery<Query extends FunctionReference<"query"> | FunctionReference_future<"query">>(query: Query, args: FunctionArgs<Query>, value: undefined | FunctionReturnType<Query>): void;
57
57
  }
58
58
  /**
59
59
  * A temporary, local update to query results within this client.
@@ -1 +1 @@
1
- {"version":3,"file":"optimistic_updates.d.ts","sourceRoot":"","sources":["../../../../src/browser/sync/optimistic_updates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,KAAK,SAAS,iBAAiB,CAAC,OAAO,CAAC,EAC/C,KAAK,EAAE,KAAK,EACZ,GAAG,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAC/B,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEzC;;;;;;;;;;;;;;;OAeG;IACH,aAAa,CAAC,KAAK,SAAS,iBAAiB,CAAC,OAAO,CAAC,EACpD,KAAK,EAAE,KAAK,GACX;QACD,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1B,KAAK,EAAE,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;KAC9C,EAAE,CAAC;IAEJ;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,KAAK,SAAS,iBAAiB,CAAC,OAAO,CAAC,EAC/C,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,EACzB,KAAK,EAAE,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAC3C,IAAI,CAAC;CACT;AACD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CACjE,eAAe,EAAE,oBAAoB,EACrC,IAAI,EAAE,IAAI,KACP,IAAI,CAAC"}
1
+ {"version":3,"file":"optimistic_updates.d.ts","sourceRoot":"","sources":["../../../../src/browser/sync/optimistic_updates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;OAWG;IACH,QAAQ,CACN,KAAK,SACD,iBAAiB,CAAC,OAAO,CAAC,GAC1B,wBAAwB,CAAC,OAAO,CAAC,EAErC,KAAK,EAAE,KAAK,EACZ,GAAG,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAC/B,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEzC;;;;;;;;;;;;;;;OAeG;IACH,aAAa,CACX,KAAK,SACD,iBAAiB,CAAC,OAAO,CAAC,GAC1B,wBAAwB,CAAC,OAAO,CAAC,EAErC,KAAK,EAAE,KAAK,GACX;QACD,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1B,KAAK,EAAE,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;KAC9C,EAAE,CAAC;IAEJ;;;;;;;;;;;;OAYG;IACH,QAAQ,CACN,KAAK,SACD,iBAAiB,CAAC,OAAO,CAAC,GAC1B,wBAAwB,CAAC,OAAO,CAAC,EAErC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,EACzB,KAAK,EAAE,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAC3C,IAAI,CAAC;CACT;AACD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CACjE,eAAe,EAAE,oBAAoB,EACrC,IAAI,EAAE,IAAI,KACP,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"optimistic_updates_impl.d.ts","sourceRoot":"","sources":["../../../../src/browser/sync/optimistic_updates_impl.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAEL,UAAU,EAEX,MAAM,qBAAqB,CAAC;AAG7B;;GAEG;AACH,KAAK,uBAAuB,GAAG,CAAC,cAAc,EAAE,oBAAoB,KAAK,IAAI,CAAC;AA2G9E,KAAK,KAAK,GAAG;IAKX,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC7B,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAErD,KAAK,cAAc,GAAG,UAAU,EAAE,CAAC;AAEnC;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,iBAAiB,CAA0B;;IAOnD;;OAEG;IACH,4BAA4B,CAC1B,kBAAkB,EAAE,eAAe,EACnC,uBAAuB,EAAE,GAAG,CAAC,SAAS,CAAC,GACtC,cAAc;IAyBjB,qBAAqB,CACnB,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,SAAS,GACpB,cAAc;IA4BjB,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,KAAK,GAAG,SAAS;IAyBtD,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;CAWhD"}
1
+ {"version":3,"file":"optimistic_updates_impl.d.ts","sourceRoot":"","sources":["../../../../src/browser/sync/optimistic_updates_impl.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAEL,UAAU,EAEX,MAAM,qBAAqB,CAAC;AAG7B;;GAEG;AACH,KAAK,uBAAuB,GAAG,CAAC,cAAc,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAuH9E,KAAK,KAAK,GAAG;IAKX,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC7B,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAErD,KAAK,cAAc,GAAG,UAAU,EAAE,CAAC;AAEnC;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,iBAAiB,CAA0B;;IAOnD;;OAEG;IACH,4BAA4B,CAC1B,kBAAkB,EAAE,eAAe,EACnC,uBAAuB,EAAE,GAAG,CAAC,SAAS,CAAC,GACtC,cAAc;IAyBjB,qBAAqB,CACnB,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,SAAS,GACpB,cAAc;IA4BjB,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,KAAK,GAAG,SAAS;IAyBtD,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;CAWhD"}
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../../src/cli/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,6BAA6B,CAAC;AAS9D,eAAO,MAAM,OAAO;;;;;;;;;;;MA6FhB,CAAC"}
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../../src/cli/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,6BAA6B,CAAC;AAS9D,eAAO,MAAM,OAAO;;;;;;;;;;;MA8FhB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../../src/cli/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAetD,eAAO,MAAM,IAAI;;MAkCb,CAAC"}
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../../src/cli/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAKtD,eAAO,MAAM,IAAI;;MAMb,CAAC"}