@rocicorp/zero 0.4.2024103000 → 0.5.2024110200

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 (537) hide show
  1. package/out/{chunk-4UHYW2B5.js → chunk-INJ4WJHS.js} +111 -99
  2. package/out/chunk-INJ4WJHS.js.map +7 -0
  3. package/out/{chunk-RCVGGCMG.js → chunk-YCMA66NH.js} +2 -2
  4. package/out/{chunk-RCVGGCMG.js.map → chunk-YCMA66NH.js.map} +2 -2
  5. package/out/internal.js +1 -1
  6. package/out/react.js.map +2 -2
  7. package/out/shared/src/iterables.d.ts.map +1 -1
  8. package/out/shared/src/iterables.js +0 -5
  9. package/out/shared/src/iterables.js.map +1 -1
  10. package/out/shared/src/valita.d.ts +7 -0
  11. package/out/shared/src/valita.d.ts.map +1 -1
  12. package/out/shared/src/valita.js +28 -0
  13. package/out/shared/src/valita.js.map +1 -1
  14. package/out/solid.js +2 -2
  15. package/out/solid.js.map +2 -2
  16. package/out/zero-advanced/src/mod.d.ts +7 -7
  17. package/out/zero-advanced/src/mod.d.ts.map +1 -1
  18. package/out/zero-cache/src/config/config-query.d.ts +6 -6
  19. package/out/zero-cache/src/config/config-query.d.ts.map +1 -1
  20. package/out/zero-cache/src/config/config-query.js +1 -1
  21. package/out/zero-cache/src/config/config-query.js.map +1 -1
  22. package/out/zero-cache/src/config/define-config.d.ts +3 -3
  23. package/out/zero-cache/src/config/define-config.d.ts.map +1 -1
  24. package/out/zero-cache/src/config/define-config.js +1 -0
  25. package/out/zero-cache/src/config/define-config.js.map +1 -1
  26. package/out/zero-cache/src/config/refs.js +1 -1
  27. package/out/zero-cache/src/config/refs.js.map +1 -1
  28. package/out/zero-cache/src/config/zero-config.d.ts +38 -38
  29. package/out/zero-cache/src/db/statements.d.ts +1 -1
  30. package/out/zero-cache/src/services/mutagen/write-authorizer.js +2 -2
  31. package/out/zero-cache/src/services/mutagen/write-authorizer.js.map +1 -1
  32. package/out/zero-cache/src/services/replicator/incremental-sync.js +1 -1
  33. package/out/zero-cache/src/services/view-syncer/database-storage.d.ts +1 -1
  34. package/out/zero-cache/src/services/view-syncer/database-storage.d.ts.map +1 -1
  35. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +1 -1
  36. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  37. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +5 -5
  38. package/out/zero-cache/src/types/lite.d.ts +1 -1
  39. package/out/zero-cache/src/types/lite.d.ts.map +1 -1
  40. package/out/zero-cache/src/types/lite.js +4 -0
  41. package/out/zero-cache/src/types/lite.js.map +1 -1
  42. package/out/zero-client/src/client/context.d.ts +4 -4
  43. package/out/zero-client/src/client/context.d.ts.map +1 -1
  44. package/out/zero-client/src/client/crud.d.ts +4 -4
  45. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  46. package/out/zero-client/src/client/keys.d.ts +1 -1
  47. package/out/zero-client/src/client/keys.d.ts.map +1 -1
  48. package/out/zero-client/src/client/normalized-schema.d.ts +2 -2
  49. package/out/zero-client/src/client/normalized-schema.d.ts.map +1 -1
  50. package/out/zero-client/src/client/normalized-schema.js +1 -1
  51. package/out/zero-client/src/client/normalized-schema.js.map +1 -1
  52. package/out/zero-client/src/client/options.d.ts +1 -1
  53. package/out/zero-client/src/client/options.d.ts.map +1 -1
  54. package/out/zero-client/src/client/query-manager.d.ts +1 -1
  55. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  56. package/out/zero-client/src/client/zero.d.ts +2 -9
  57. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  58. package/out/zero-client/src/mod.d.ts +6 -7
  59. package/out/zero-client/src/mod.d.ts.map +1 -1
  60. package/out/zero-protocol/src/ast.d.ts +2 -2
  61. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  62. package/out/zero-protocol/src/ast.js +2 -1
  63. package/out/zero-protocol/src/ast.js.map +1 -1
  64. package/out/zero-protocol/src/change-desired-queries.d.ts +2 -2
  65. package/out/zero-protocol/src/connect.d.ts +2 -2
  66. package/out/zero-protocol/src/data.d.ts +2 -2
  67. package/out/zero-protocol/src/data.d.ts.map +1 -1
  68. package/out/zero-protocol/src/data.js +2 -1
  69. package/out/zero-protocol/src/data.js.map +1 -1
  70. package/out/zero-protocol/src/down.d.ts +3 -3
  71. package/out/zero-protocol/src/poke.d.ts +6 -6
  72. package/out/zero-protocol/src/push.d.ts +21 -21
  73. package/out/zero-protocol/src/queries-patch.d.ts +3 -3
  74. package/out/zero-protocol/src/row-patch.d.ts +2 -2
  75. package/out/zero-protocol/src/up.d.ts +5 -5
  76. package/out/zero-react/src/use-query.d.ts +2 -1
  77. package/out/zero-react/src/use-query.d.ts.map +1 -1
  78. package/out/zero-react/src/use-zero.d.ts +2 -1
  79. package/out/zero-react/src/use-zero.d.ts.map +1 -1
  80. package/out/zero-schema/src/mod.d.ts +4 -0
  81. package/out/zero-schema/src/mod.d.ts.map +1 -0
  82. package/out/zero-schema/src/mod.js +4 -0
  83. package/out/zero-schema/src/mod.js.map +1 -0
  84. package/out/{zql/src/zql/query → zero-schema/src}/normalize-table-schema.d.ts +2 -3
  85. package/out/zero-schema/src/normalize-table-schema.d.ts.map +1 -0
  86. package/out/{zql/src/zql/query → zero-schema/src}/normalize-table-schema.js +3 -3
  87. package/out/zero-schema/src/normalize-table-schema.js.map +1 -0
  88. package/out/zero-schema/src/schema.d.ts +9 -0
  89. package/out/zero-schema/src/schema.d.ts.map +1 -0
  90. package/out/zero-schema/src/schema.js +4 -0
  91. package/out/zero-schema/src/schema.js.map +1 -0
  92. package/out/{zql/src/zql/query/schema.d.ts → zero-schema/src/table-schema.d.ts} +39 -3
  93. package/out/zero-schema/src/table-schema.d.ts.map +1 -0
  94. package/out/{zql/src/zql/query/schema.js → zero-schema/src/table-schema.js} +1 -1
  95. package/out/zero-schema/src/table-schema.js.map +1 -0
  96. package/out/zero-solid/src/create-zero.d.ts +2 -1
  97. package/out/zero-solid/src/create-zero.d.ts.map +1 -1
  98. package/out/zero.js +2 -6
  99. package/out/zql/src/{zql/builder → builder}/builder.d.ts +4 -4
  100. package/out/zql/src/builder/builder.d.ts.map +1 -0
  101. package/out/zql/src/{zql/builder → builder}/builder.js +7 -3
  102. package/out/zql/src/builder/builder.js.map +1 -0
  103. package/out/zql/src/builder/error.d.ts.map +1 -0
  104. package/out/zql/src/builder/error.js.map +1 -0
  105. package/out/zql/src/{zql/builder → builder}/filter.d.ts +2 -2
  106. package/out/zql/src/builder/filter.d.ts.map +1 -0
  107. package/out/zql/src/{zql/builder → builder}/filter.js +1 -1
  108. package/out/zql/src/builder/filter.js.map +1 -0
  109. package/out/zql/src/builder/like.d.ts.map +1 -0
  110. package/out/zql/src/{zql/builder → builder}/like.js +1 -1
  111. package/out/zql/src/builder/like.js.map +1 -0
  112. package/out/zql/src/ivm/array-view.d.ts.map +1 -0
  113. package/out/zql/src/{zql/ivm → ivm}/array-view.js +1 -1
  114. package/out/zql/src/ivm/array-view.js.map +1 -0
  115. package/out/zql/src/{zql/ivm → ivm}/change.d.ts +1 -1
  116. package/out/zql/src/ivm/change.d.ts.map +1 -0
  117. package/out/zql/src/ivm/change.js.map +1 -0
  118. package/out/zql/src/{zql/ivm → ivm}/data.d.ts +2 -2
  119. package/out/zql/src/ivm/data.d.ts.map +1 -0
  120. package/out/zql/src/{zql/ivm → ivm}/data.js +1 -1
  121. package/out/zql/src/ivm/data.js.map +1 -0
  122. package/out/zql/src/{zql/ivm → ivm}/fan-in.d.ts +6 -4
  123. package/out/zql/src/ivm/fan-in.d.ts.map +1 -0
  124. package/out/zql/src/{zql/ivm → ivm}/fan-in.js +11 -11
  125. package/out/zql/src/ivm/fan-in.js.map +1 -0
  126. package/out/zql/src/{zql/ivm → ivm}/fan-out.d.ts +3 -3
  127. package/out/zql/src/ivm/fan-out.d.ts.map +1 -0
  128. package/out/zql/src/{zql/ivm → ivm}/fan-out.js +7 -5
  129. package/out/zql/src/ivm/fan-out.js.map +1 -0
  130. package/out/zql/src/{zql/ivm → ivm}/filter.d.ts +4 -5
  131. package/out/zql/src/ivm/filter.d.ts.map +1 -0
  132. package/out/zql/src/{zql/ivm → ivm}/filter.js +9 -6
  133. package/out/zql/src/ivm/filter.js.map +1 -0
  134. package/out/zql/src/{zql/ivm → ivm}/join.d.ts +2 -2
  135. package/out/zql/src/ivm/join.d.ts.map +1 -0
  136. package/out/zql/src/{zql/ivm → ivm}/join.js +2 -2
  137. package/out/zql/src/ivm/join.js.map +1 -0
  138. package/out/zql/src/ivm/lookahead-iterator.d.ts.map +1 -0
  139. package/out/zql/src/ivm/lookahead-iterator.js.map +1 -0
  140. package/out/zql/src/{zql/ivm → ivm}/maybe-split-and-push-edit-change.d.ts +1 -1
  141. package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -0
  142. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -0
  143. package/out/zql/src/{zql/ivm → ivm}/memory-source.d.ts +6 -6
  144. package/out/zql/src/ivm/memory-source.d.ts.map +1 -0
  145. package/out/zql/src/{zql/ivm → ivm}/memory-source.js +12 -17
  146. package/out/zql/src/ivm/memory-source.js.map +1 -0
  147. package/out/zql/src/{zql/ivm → ivm}/memory-storage.d.ts +1 -1
  148. package/out/zql/src/ivm/memory-storage.d.ts.map +1 -0
  149. package/out/zql/src/{zql/ivm → ivm}/operator.d.ts +5 -5
  150. package/out/zql/src/ivm/operator.d.ts.map +1 -0
  151. package/out/zql/src/ivm/operator.js.map +1 -0
  152. package/out/zql/src/ivm/schema.d.ts +15 -0
  153. package/out/zql/src/ivm/schema.d.ts.map +1 -0
  154. package/out/zql/src/ivm/schema.js +2 -0
  155. package/out/zql/src/ivm/schema.js.map +1 -0
  156. package/out/zql/src/{zql/ivm → ivm}/skip.d.ts +3 -3
  157. package/out/zql/src/ivm/skip.d.ts.map +1 -0
  158. package/out/zql/src/{zql/ivm → ivm}/skip.js +1 -1
  159. package/out/zql/src/ivm/skip.js.map +1 -0
  160. package/out/zql/src/{zql/ivm → ivm}/source.d.ts +2 -2
  161. package/out/zql/src/ivm/source.d.ts.map +1 -0
  162. package/out/zql/src/ivm/source.js.map +1 -0
  163. package/out/zql/src/ivm/stream.d.ts.map +1 -0
  164. package/out/zql/src/ivm/stream.js.map +1 -0
  165. package/out/zql/src/{zql/ivm → ivm}/take.d.ts +2 -2
  166. package/out/zql/src/ivm/take.d.ts.map +1 -0
  167. package/out/zql/src/{zql/ivm → ivm}/take.js +2 -2
  168. package/out/zql/src/ivm/take.js.map +1 -0
  169. package/out/zql/src/ivm/view-apply-change.d.ts +5 -0
  170. package/out/zql/src/ivm/view-apply-change.d.ts.map +1 -0
  171. package/out/zql/src/{zql/ivm → ivm}/view-apply-change.js +2 -2
  172. package/out/zql/src/ivm/view-apply-change.js.map +1 -0
  173. package/out/zql/src/{zql/ivm → ivm}/view.d.ts +2 -2
  174. package/out/zql/src/ivm/view.d.ts.map +1 -0
  175. package/out/zql/src/{zql/ivm → ivm}/view.js.map +1 -1
  176. package/out/zql/src/query/auth-query.d.ts +20 -0
  177. package/out/zql/src/query/auth-query.d.ts.map +1 -0
  178. package/out/zql/src/query/auth-query.js +26 -0
  179. package/out/zql/src/query/auth-query.js.map +1 -0
  180. package/out/zql/src/query/escape-like.d.ts.map +1 -0
  181. package/out/zql/src/query/expression.d.ts +24 -0
  182. package/out/zql/src/query/expression.d.ts.map +1 -0
  183. package/out/zql/src/{zql/query → query}/expression.js +7 -1
  184. package/out/zql/src/query/expression.js.map +1 -0
  185. package/out/zql/src/{zql/query → query}/query-impl.d.ts +5 -5
  186. package/out/zql/src/query/query-impl.d.ts.map +1 -0
  187. package/out/zql/src/{zql/query → query}/query-impl.js +6 -4
  188. package/out/zql/src/query/query-impl.js.map +1 -0
  189. package/out/zql/src/{zql/query → query}/query-internal.d.ts +1 -1
  190. package/out/zql/src/query/query-internal.d.ts.map +1 -0
  191. package/out/zql/src/query/query-internal.js.map +1 -0
  192. package/out/zql/src/{zql/query → query}/query.d.ts +11 -26
  193. package/out/zql/src/query/query.d.ts.map +1 -0
  194. package/out/zql/src/query/query.js.map +1 -0
  195. package/out/zql/src/{zql/query → query}/typed-view.d.ts +1 -1
  196. package/out/zql/src/query/typed-view.d.ts.map +1 -0
  197. package/out/zql/src/query/typed-view.js.map +1 -0
  198. package/out/zqlite/src/db.d.ts +1 -1
  199. package/out/zqlite/src/db.js +1 -1
  200. package/out/zqlite/src/table-source.d.ts +14 -2
  201. package/out/zqlite/src/table-source.d.ts.map +1 -1
  202. package/out/zqlite/src/table-source.js +81 -40
  203. package/out/zqlite/src/table-source.js.map +1 -1
  204. package/package.json +11 -2
  205. package/out/chunk-4UHYW2B5.js.map +0 -7
  206. package/out/replicache/src/async-iterable-to-array.js +0 -8
  207. package/out/replicache/src/async-iterable-to-array.js.map +0 -1
  208. package/out/replicache/src/bg-interval.js +0 -38
  209. package/out/replicache/src/bg-interval.js.map +0 -1
  210. package/out/replicache/src/binary-search.js +0 -31
  211. package/out/replicache/src/binary-search.js.map +0 -1
  212. package/out/replicache/src/broadcast-channel.js +0 -29
  213. package/out/replicache/src/broadcast-channel.js.map +0 -1
  214. package/out/replicache/src/btree/diff.js +0 -6
  215. package/out/replicache/src/btree/diff.js.map +0 -1
  216. package/out/replicache/src/btree/node.js +0 -392
  217. package/out/replicache/src/btree/node.js.map +0 -1
  218. package/out/replicache/src/btree/read.js +0 -227
  219. package/out/replicache/src/btree/read.js.map +0 -1
  220. package/out/replicache/src/btree/splice.js +0 -79
  221. package/out/replicache/src/btree/splice.js.map +0 -1
  222. package/out/replicache/src/btree/write.js +0 -154
  223. package/out/replicache/src/btree/write.js.map +0 -1
  224. package/out/replicache/src/call-default-fetch.js +0 -37
  225. package/out/replicache/src/call-default-fetch.js.map +0 -1
  226. package/out/replicache/src/config.js +0 -13
  227. package/out/replicache/src/config.js.map +0 -1
  228. package/out/replicache/src/connection-loop-delegates.js +0 -30
  229. package/out/replicache/src/connection-loop-delegates.js.map +0 -1
  230. package/out/replicache/src/connection-loop.js +0 -268
  231. package/out/replicache/src/connection-loop.js.map +0 -1
  232. package/out/replicache/src/cookies.js +0 -41
  233. package/out/replicache/src/cookies.js.map +0 -1
  234. package/out/replicache/src/dag/chunk.js +0 -60
  235. package/out/replicache/src/dag/chunk.js.map +0 -1
  236. package/out/replicache/src/dag/gc.js +0 -126
  237. package/out/replicache/src/dag/gc.js.map +0 -1
  238. package/out/replicache/src/dag/key-type-enum.js +0 -6
  239. package/out/replicache/src/dag/key-type-enum.js.map +0 -1
  240. package/out/replicache/src/dag/key.js +0 -54
  241. package/out/replicache/src/dag/key.js.map +0 -1
  242. package/out/replicache/src/dag/lazy-store.js +0 -532
  243. package/out/replicache/src/dag/lazy-store.js.map +0 -1
  244. package/out/replicache/src/dag/store-impl.js +0 -175
  245. package/out/replicache/src/dag/store-impl.js.map +0 -1
  246. package/out/replicache/src/dag/store.js +0 -22
  247. package/out/replicache/src/dag/store.js.map +0 -1
  248. package/out/replicache/src/dag/visitor.js +0 -22
  249. package/out/replicache/src/dag/visitor.js.map +0 -1
  250. package/out/replicache/src/db/commit.js +0 -443
  251. package/out/replicache/src/db/commit.js.map +0 -1
  252. package/out/replicache/src/db/index-operation-enum.js +0 -4
  253. package/out/replicache/src/db/index-operation-enum.js.map +0 -1
  254. package/out/replicache/src/db/index.js +0 -170
  255. package/out/replicache/src/db/index.js.map +0 -1
  256. package/out/replicache/src/db/meta-type-enum.js +0 -7
  257. package/out/replicache/src/db/meta-type-enum.js.map +0 -1
  258. package/out/replicache/src/db/read.js +0 -59
  259. package/out/replicache/src/db/read.js.map +0 -1
  260. package/out/replicache/src/db/rebase.js +0 -56
  261. package/out/replicache/src/db/rebase.js.map +0 -1
  262. package/out/replicache/src/db/scan.js +0 -2
  263. package/out/replicache/src/db/scan.js.map +0 -1
  264. package/out/replicache/src/db/write.js +0 -260
  265. package/out/replicache/src/db/write.js.map +0 -1
  266. package/out/replicache/src/error-responses.js +0 -30
  267. package/out/replicache/src/error-responses.js.map +0 -1
  268. package/out/replicache/src/filter-async-iterable.js +0 -15
  269. package/out/replicache/src/filter-async-iterable.js.map +0 -1
  270. package/out/replicache/src/format-version-enum.js +0 -9
  271. package/out/replicache/src/format-version-enum.js.map +0 -1
  272. package/out/replicache/src/format-version.js +0 -8
  273. package/out/replicache/src/format-version.js.map +0 -1
  274. package/out/replicache/src/frozen-json.js +0 -151
  275. package/out/replicache/src/frozen-json.js.map +0 -1
  276. package/out/replicache/src/get-default-puller.js +0 -74
  277. package/out/replicache/src/get-default-puller.js.map +0 -1
  278. package/out/replicache/src/get-default-pusher.js +0 -36
  279. package/out/replicache/src/get-default-pusher.js.map +0 -1
  280. package/out/replicache/src/hash.js +0 -73
  281. package/out/replicache/src/hash.js.map +0 -1
  282. package/out/replicache/src/http-request-info.js +0 -7
  283. package/out/replicache/src/http-request-info.js.map +0 -1
  284. package/out/replicache/src/impl.js +0 -2
  285. package/out/replicache/src/impl.js.map +0 -1
  286. package/out/replicache/src/index-defs.js +0 -28
  287. package/out/replicache/src/index-defs.js.map +0 -1
  288. package/out/replicache/src/invoke-kind-enum.js +0 -4
  289. package/out/replicache/src/invoke-kind-enum.js.map +0 -1
  290. package/out/replicache/src/iterable-union.js +0 -5
  291. package/out/replicache/src/iterable-union.js.map +0 -1
  292. package/out/replicache/src/kv/idb-store-with-mem-fallback.js +0 -93
  293. package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +0 -1
  294. package/out/replicache/src/kv/idb-store.js +0 -179
  295. package/out/replicache/src/kv/idb-store.js.map +0 -1
  296. package/out/replicache/src/kv/mem-store.js +0 -61
  297. package/out/replicache/src/kv/mem-store.js.map +0 -1
  298. package/out/replicache/src/kv/read-impl.js +0 -23
  299. package/out/replicache/src/kv/read-impl.js.map +0 -1
  300. package/out/replicache/src/kv/store.js +0 -2
  301. package/out/replicache/src/kv/store.js.map +0 -1
  302. package/out/replicache/src/kv/write-impl-base.js +0 -48
  303. package/out/replicache/src/kv/write-impl-base.js.map +0 -1
  304. package/out/replicache/src/kv/write-impl.js +0 -25
  305. package/out/replicache/src/kv/write-impl.js.map +0 -1
  306. package/out/replicache/src/lazy.js +0 -10
  307. package/out/replicache/src/lazy.js.map +0 -1
  308. package/out/replicache/src/log-options.js +0 -13
  309. package/out/replicache/src/log-options.js.map +0 -1
  310. package/out/replicache/src/merge-async-iterables.js +0 -61
  311. package/out/replicache/src/merge-async-iterables.js.map +0 -1
  312. package/out/replicache/src/mod.js +0 -14
  313. package/out/replicache/src/mod.js.map +0 -1
  314. package/out/replicache/src/mutation-recovery.js +0 -439
  315. package/out/replicache/src/mutation-recovery.js.map +0 -1
  316. package/out/replicache/src/new-client-channel.js +0 -77
  317. package/out/replicache/src/new-client-channel.js.map +0 -1
  318. package/out/replicache/src/on-persist-channel.js +0 -33
  319. package/out/replicache/src/on-persist-channel.js.map +0 -1
  320. package/out/replicache/src/patch-operation.js +0 -37
  321. package/out/replicache/src/patch-operation.js.map +0 -1
  322. package/out/replicache/src/pending-mutations.js +0 -18
  323. package/out/replicache/src/pending-mutations.js.map +0 -1
  324. package/out/replicache/src/persist/client-gc.js +0 -38
  325. package/out/replicache/src/persist/client-gc.js.map +0 -1
  326. package/out/replicache/src/persist/client-group-gc.js +0 -38
  327. package/out/replicache/src/persist/client-group-gc.js.map +0 -1
  328. package/out/replicache/src/persist/client-groups.js +0 -180
  329. package/out/replicache/src/persist/client-groups.js.map +0 -1
  330. package/out/replicache/src/persist/clients.js +0 -390
  331. package/out/replicache/src/persist/clients.js.map +0 -1
  332. package/out/replicache/src/persist/collect-idb-databases.js +0 -174
  333. package/out/replicache/src/persist/collect-idb-databases.js.map +0 -1
  334. package/out/replicache/src/persist/gather-mem-only-visitor.js +0 -25
  335. package/out/replicache/src/persist/gather-mem-only-visitor.js.map +0 -1
  336. package/out/replicache/src/persist/gather-not-cached-visitor.js +0 -35
  337. package/out/replicache/src/persist/gather-not-cached-visitor.js.map +0 -1
  338. package/out/replicache/src/persist/heartbeat.js +0 -37
  339. package/out/replicache/src/persist/heartbeat.js.map +0 -1
  340. package/out/replicache/src/persist/idb-databases-store-db-name.js +0 -18
  341. package/out/replicache/src/persist/idb-databases-store-db-name.js.map +0 -1
  342. package/out/replicache/src/persist/idb-databases-store.js +0 -90
  343. package/out/replicache/src/persist/idb-databases-store.js.map +0 -1
  344. package/out/replicache/src/persist/make-client-id.js +0 -13
  345. package/out/replicache/src/persist/make-client-id.js.map +0 -1
  346. package/out/replicache/src/persist/persist.js +0 -132
  347. package/out/replicache/src/persist/persist.js.map +0 -1
  348. package/out/replicache/src/persist/refresh.js +0 -147
  349. package/out/replicache/src/persist/refresh.js.map +0 -1
  350. package/out/replicache/src/process-scheduler.js +0 -93
  351. package/out/replicache/src/process-scheduler.js.map +0 -1
  352. package/out/replicache/src/puller.js +0 -2
  353. package/out/replicache/src/puller.js.map +0 -1
  354. package/out/replicache/src/pusher.js +0 -32
  355. package/out/replicache/src/pusher.js.map +0 -1
  356. package/out/replicache/src/replicache-impl.js +0 -1007
  357. package/out/replicache/src/replicache-impl.js.map +0 -1
  358. package/out/replicache/src/replicache-options.js +0 -2
  359. package/out/replicache/src/replicache-options.js.map +0 -1
  360. package/out/replicache/src/replicache.js +0 -387
  361. package/out/replicache/src/replicache.js.map +0 -1
  362. package/out/replicache/src/request-idle.js +0 -15
  363. package/out/replicache/src/request-idle.js.map +0 -1
  364. package/out/replicache/src/scan-iterator.js +0 -202
  365. package/out/replicache/src/scan-iterator.js.map +0 -1
  366. package/out/replicache/src/scan-options.js +0 -45
  367. package/out/replicache/src/scan-options.js.map +0 -1
  368. package/out/replicache/src/set-interval-with-signal.js +0 -7
  369. package/out/replicache/src/set-interval-with-signal.js.map +0 -1
  370. package/out/replicache/src/size-of-value.js +0 -77
  371. package/out/replicache/src/size-of-value.js.map +0 -1
  372. package/out/replicache/src/subscriptions.js +0 -357
  373. package/out/replicache/src/subscriptions.js.map +0 -1
  374. package/out/replicache/src/sync/diff.js +0 -75
  375. package/out/replicache/src/sync/diff.js.map +0 -1
  376. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js +0 -5
  377. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js.map +0 -1
  378. package/out/replicache/src/sync/ids.js +0 -4
  379. package/out/replicache/src/sync/ids.js.map +0 -1
  380. package/out/replicache/src/sync/patch.js +0 -41
  381. package/out/replicache/src/sync/patch.js.map +0 -1
  382. package/out/replicache/src/sync/pull-error.js +0 -16
  383. package/out/replicache/src/sync/pull-error.js.map +0 -1
  384. package/out/replicache/src/sync/pull.js +0 -375
  385. package/out/replicache/src/sync/pull.js.map +0 -1
  386. package/out/replicache/src/sync/push.js +0 -141
  387. package/out/replicache/src/sync/push.js.map +0 -1
  388. package/out/replicache/src/sync/request-id.js +0 -31
  389. package/out/replicache/src/sync/request-id.js.map +0 -1
  390. package/out/replicache/src/sync/sync-head-name.js +0 -2
  391. package/out/replicache/src/sync/sync-head-name.js.map +0 -1
  392. package/out/replicache/src/test-license-key.js +0 -3
  393. package/out/replicache/src/test-license-key.js.map +0 -1
  394. package/out/replicache/src/to-error.js +0 -7
  395. package/out/replicache/src/to-error.js.map +0 -1
  396. package/out/replicache/src/transaction-closed-error.js +0 -17
  397. package/out/replicache/src/transaction-closed-error.js.map +0 -1
  398. package/out/replicache/src/transactions.js +0 -144
  399. package/out/replicache/src/transactions.js.map +0 -1
  400. package/out/replicache/src/types.js +0 -2
  401. package/out/replicache/src/types.js.map +0 -1
  402. package/out/replicache/src/version.js +0 -6
  403. package/out/replicache/src/version.js.map +0 -1
  404. package/out/replicache/src/with-transactions.js +0 -28
  405. package/out/replicache/src/with-transactions.js.map +0 -1
  406. package/out/shared/src/browser-env.js +0 -14
  407. package/out/shared/src/browser-env.js.map +0 -1
  408. package/out/shared/src/document-visible.js +0 -76
  409. package/out/shared/src/document-visible.js.map +0 -1
  410. package/out/shared/src/navigator.js +0 -3
  411. package/out/shared/src/navigator.js.map +0 -1
  412. package/out/shared/src/random-uint64.js +0 -8
  413. package/out/shared/src/random-uint64.js.map +0 -1
  414. package/out/shared/src/types.js +0 -2
  415. package/out/shared/src/types.js.map +0 -1
  416. package/out/zero-client/src/client/context.js +0 -113
  417. package/out/zero-client/src/client/context.js.map +0 -1
  418. package/out/zero-client/src/client/crud.js +0 -181
  419. package/out/zero-client/src/client/crud.js.map +0 -1
  420. package/out/zero-client/src/client/enable-analytics.js +0 -21
  421. package/out/zero-client/src/client/enable-analytics.js.map +0 -1
  422. package/out/zero-client/src/client/http-string.js +0 -14
  423. package/out/zero-client/src/client/http-string.js.map +0 -1
  424. package/out/zero-client/src/client/keys.js +0 -32
  425. package/out/zero-client/src/client/keys.js.map +0 -1
  426. package/out/zero-client/src/client/log-options.js +0 -57
  427. package/out/zero-client/src/client/log-options.js.map +0 -1
  428. package/out/zero-client/src/client/metrics.js +0 -268
  429. package/out/zero-client/src/client/metrics.js.map +0 -1
  430. package/out/zero-client/src/client/options.js +0 -2
  431. package/out/zero-client/src/client/options.js.map +0 -1
  432. package/out/zero-client/src/client/query-manager.js +0 -146
  433. package/out/zero-client/src/client/query-manager.js.map +0 -1
  434. package/out/zero-client/src/client/reload-error-handler.js +0 -23
  435. package/out/zero-client/src/client/reload-error-handler.js.map +0 -1
  436. package/out/zero-client/src/client/replicache-types.js +0 -2
  437. package/out/zero-client/src/client/replicache-types.js.map +0 -1
  438. package/out/zero-client/src/client/server-error.js +0 -22
  439. package/out/zero-client/src/client/server-error.js.map +0 -1
  440. package/out/zero-client/src/client/server-option.js +0 -37
  441. package/out/zero-client/src/client/server-option.js.map +0 -1
  442. package/out/zero-client/src/client/version.js +0 -6
  443. package/out/zero-client/src/client/version.js.map +0 -1
  444. package/out/zero-client/src/client/zero-poke-handler.js +0 -240
  445. package/out/zero-client/src/client/zero-poke-handler.js.map +0 -1
  446. package/out/zero-client/src/client/zero.js +0 -1233
  447. package/out/zero-client/src/client/zero.js.map +0 -1
  448. package/out/zero-client/src/mod.js +0 -7
  449. package/out/zero-client/src/mod.js.map +0 -1
  450. package/out/zero-client/src/util/nanoid.js +0 -34
  451. package/out/zero-client/src/util/nanoid.js.map +0 -1
  452. package/out/zero-client/src/util/socket.js +0 -4
  453. package/out/zero-client/src/util/socket.js.map +0 -1
  454. package/out/zql/src/zql/builder/builder.d.ts.map +0 -1
  455. package/out/zql/src/zql/builder/builder.js.map +0 -1
  456. package/out/zql/src/zql/builder/error.d.ts.map +0 -1
  457. package/out/zql/src/zql/builder/error.js.map +0 -1
  458. package/out/zql/src/zql/builder/filter.d.ts.map +0 -1
  459. package/out/zql/src/zql/builder/filter.js.map +0 -1
  460. package/out/zql/src/zql/builder/like.d.ts.map +0 -1
  461. package/out/zql/src/zql/builder/like.js.map +0 -1
  462. package/out/zql/src/zql/ivm/array-view.d.ts.map +0 -1
  463. package/out/zql/src/zql/ivm/array-view.js.map +0 -1
  464. package/out/zql/src/zql/ivm/change.d.ts.map +0 -1
  465. package/out/zql/src/zql/ivm/change.js.map +0 -1
  466. package/out/zql/src/zql/ivm/data.d.ts.map +0 -1
  467. package/out/zql/src/zql/ivm/data.js.map +0 -1
  468. package/out/zql/src/zql/ivm/fan-in.d.ts.map +0 -1
  469. package/out/zql/src/zql/ivm/fan-in.js.map +0 -1
  470. package/out/zql/src/zql/ivm/fan-out.d.ts.map +0 -1
  471. package/out/zql/src/zql/ivm/fan-out.js.map +0 -1
  472. package/out/zql/src/zql/ivm/filter.d.ts.map +0 -1
  473. package/out/zql/src/zql/ivm/filter.js.map +0 -1
  474. package/out/zql/src/zql/ivm/join.d.ts.map +0 -1
  475. package/out/zql/src/zql/ivm/join.js.map +0 -1
  476. package/out/zql/src/zql/ivm/lookahead-iterator.d.ts.map +0 -1
  477. package/out/zql/src/zql/ivm/lookahead-iterator.js.map +0 -1
  478. package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.d.ts.map +0 -1
  479. package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.js.map +0 -1
  480. package/out/zql/src/zql/ivm/memory-source.d.ts.map +0 -1
  481. package/out/zql/src/zql/ivm/memory-source.js.map +0 -1
  482. package/out/zql/src/zql/ivm/memory-storage.d.ts.map +0 -1
  483. package/out/zql/src/zql/ivm/memory-storage.js +0 -33
  484. package/out/zql/src/zql/ivm/memory-storage.js.map +0 -1
  485. package/out/zql/src/zql/ivm/operator.d.ts.map +0 -1
  486. package/out/zql/src/zql/ivm/operator.js.map +0 -1
  487. package/out/zql/src/zql/ivm/schema.d.ts +0 -29
  488. package/out/zql/src/zql/ivm/schema.d.ts.map +0 -1
  489. package/out/zql/src/zql/ivm/schema.js +0 -3
  490. package/out/zql/src/zql/ivm/schema.js.map +0 -1
  491. package/out/zql/src/zql/ivm/skip.d.ts.map +0 -1
  492. package/out/zql/src/zql/ivm/skip.js.map +0 -1
  493. package/out/zql/src/zql/ivm/source.d.ts.map +0 -1
  494. package/out/zql/src/zql/ivm/source.js.map +0 -1
  495. package/out/zql/src/zql/ivm/stream.d.ts.map +0 -1
  496. package/out/zql/src/zql/ivm/stream.js.map +0 -1
  497. package/out/zql/src/zql/ivm/take.d.ts.map +0 -1
  498. package/out/zql/src/zql/ivm/take.js.map +0 -1
  499. package/out/zql/src/zql/ivm/view-apply-change.d.ts +0 -5
  500. package/out/zql/src/zql/ivm/view-apply-change.d.ts.map +0 -1
  501. package/out/zql/src/zql/ivm/view-apply-change.js.map +0 -1
  502. package/out/zql/src/zql/ivm/view.d.ts.map +0 -1
  503. package/out/zql/src/zql/query/escape-like.d.ts.map +0 -1
  504. package/out/zql/src/zql/query/escape-like.js +0 -4
  505. package/out/zql/src/zql/query/escape-like.js.map +0 -1
  506. package/out/zql/src/zql/query/expression.d.ts +0 -25
  507. package/out/zql/src/zql/query/expression.d.ts.map +0 -1
  508. package/out/zql/src/zql/query/expression.js.map +0 -1
  509. package/out/zql/src/zql/query/normalize-table-schema.d.ts.map +0 -1
  510. package/out/zql/src/zql/query/normalize-table-schema.js.map +0 -1
  511. package/out/zql/src/zql/query/query-impl.d.ts.map +0 -1
  512. package/out/zql/src/zql/query/query-impl.js.map +0 -1
  513. package/out/zql/src/zql/query/query-internal.d.ts.map +0 -1
  514. package/out/zql/src/zql/query/query-internal.js.map +0 -1
  515. package/out/zql/src/zql/query/query.d.ts.map +0 -1
  516. package/out/zql/src/zql/query/query.js.map +0 -1
  517. package/out/zql/src/zql/query/schema.d.ts.map +0 -1
  518. package/out/zql/src/zql/query/schema.js.map +0 -1
  519. package/out/zql/src/zql/query/typed-view.d.ts.map +0 -1
  520. package/out/zql/src/zql/query/typed-view.js.map +0 -1
  521. /package/out/zql/src/{zql/builder → builder}/error.d.ts +0 -0
  522. /package/out/zql/src/{zql/builder → builder}/error.js +0 -0
  523. /package/out/zql/src/{zql/builder → builder}/like.d.ts +0 -0
  524. /package/out/zql/src/{zql/ivm → ivm}/array-view.d.ts +0 -0
  525. /package/out/zql/src/{zql/ivm → ivm}/change.js +0 -0
  526. /package/out/zql/src/{zql/ivm → ivm}/lookahead-iterator.d.ts +0 -0
  527. /package/out/zql/src/{zql/ivm → ivm}/lookahead-iterator.js +0 -0
  528. /package/out/zql/src/{zql/ivm → ivm}/maybe-split-and-push-edit-change.js +0 -0
  529. /package/out/zql/src/{zql/ivm → ivm}/operator.js +0 -0
  530. /package/out/zql/src/{zql/ivm → ivm}/source.js +0 -0
  531. /package/out/zql/src/{zql/ivm → ivm}/stream.d.ts +0 -0
  532. /package/out/zql/src/{zql/ivm → ivm}/stream.js +0 -0
  533. /package/out/zql/src/{zql/ivm → ivm}/view.js +0 -0
  534. /package/out/zql/src/{zql/query → query}/escape-like.d.ts +0 -0
  535. /package/out/zql/src/{zql/query → query}/query-internal.js +0 -0
  536. /package/out/zql/src/{zql/query → query}/query.js +0 -0
  537. /package/out/zql/src/{zql/query → query}/typed-view.js +0 -0
@@ -68,7 +68,7 @@ function must(v, msg) {
68
68
  return v;
69
69
  }
70
70
 
71
- // ../zql/src/zql/ivm/view-apply-change.ts
71
+ // ../zql/src/ivm/view-apply-change.ts
72
72
  function applyChange(parentEntry, change, schema, relationship, format) {
73
73
  if (schema.isHidden) {
74
74
  switch (change.type) {
@@ -285,4 +285,4 @@ export {
285
285
  must,
286
286
  applyChange
287
287
  };
288
- //# sourceMappingURL=chunk-RCVGGCMG.js.map
288
+ //# sourceMappingURL=chunk-YCMA66NH.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../shared/src/asserts.ts", "../../shared/src/must.ts", "../../zql/src/zql/ivm/view-apply-change.ts"],
4
- "sourcesContent": ["export function assert(b: unknown, msg = 'Assertion failed'): asserts b {\n if (!b) {\n throw new Error(msg);\n }\n}\n\nexport function assertString(v: unknown): asserts v is string {\n assertType(v, 'string');\n}\n\nexport function assertNumber(v: unknown): asserts v is number {\n assertType(v, 'number');\n}\n\nexport function assertBoolean(v: unknown): asserts v is boolean {\n assertType(v, 'boolean');\n}\n\nfunction assertType(v: unknown, t: string) {\n if (typeof v !== t) {\n throwInvalidType(v, t);\n }\n}\n\nexport function assertObject(v: unknown): asserts v is Record<string, unknown> {\n if (v === null) {\n throwInvalidType(v, 'object');\n }\n assertType(v, 'object');\n}\n\nexport function assertArray(v: unknown): asserts v is unknown[] {\n if (!Array.isArray(v)) {\n throwInvalidType(v, 'array');\n }\n}\n\nexport function invalidType(v: unknown, t: string): string {\n let s = 'Invalid type: ';\n if (v === null || v === undefined) {\n s += v;\n } else {\n s += `${typeof v} \\`${v}\\``;\n }\n return s + `, expected ${t}`;\n}\n\nexport function throwInvalidType(v: unknown, t: string): never {\n throw new Error(invalidType(v, t));\n}\n\nexport function assertNotNull<T>(v: T | null): asserts v is T {\n if (v === null) {\n throw new Error('Expected non-null value');\n }\n}\n\nexport function assertUndefined<T>(\n v: T | undefined,\n msg = 'Expected undefined value',\n): asserts v is T {\n if (v !== undefined) {\n throw new Error(msg);\n }\n}\n\nexport function assertNotUndefined<T>(\n v: T | undefined,\n msg = 'Expected non undefined value',\n): asserts v is T {\n if (v === undefined) {\n throw new Error(msg);\n }\n}\n\nexport function assertInstanceof<T>(\n v: unknown,\n t: new (...args: unknown[]) => T,\n): asserts v is T {\n if (!(v instanceof t)) {\n throw new Error(`Expected instanceof ${t.name}`);\n }\n}\n\nexport function assertUint8Array(v: unknown): asserts v is Uint8Array {\n assertInstanceof(v, Uint8Array);\n}\n\nexport function unreachable(): never;\nexport function unreachable(v: never): never;\nexport function unreachable(_?: never): never {\n throw new Error('Unreachable');\n}\n\nexport function notImplemented(): never {\n throw new Error('Not implemented');\n}\n", "export function must<T>(v: T | undefined | null, msg?: string): T {\n // eslint-disable-next-line eqeqeq\n if (v == null) {\n throw new Error(msg ?? `Unexpected ${v} value`);\n }\n return v;\n}\n", "import {\n assert,\n assertArray,\n assertObject,\n assertUndefined,\n unreachable,\n} from '../../../../shared/src/asserts.js';\nimport {must} from '../../../../shared/src/must.js';\nimport type {Row} from '../../../../zero-protocol/src/data.js';\nimport type {Change} from './change.js';\nimport type {Comparator} from './data.js';\nimport type {TableSchema} from './schema.js';\nimport type {Entry, EntryList, Format} from './view.js';\n\nexport function applyChange(\n parentEntry: Entry,\n change: Change,\n schema: TableSchema,\n relationship: string,\n format: Format,\n) {\n if (schema.isHidden) {\n switch (change.type) {\n case 'add':\n case 'remove':\n for (const [relationship, children] of Object.entries(\n change.node.relationships,\n )) {\n const childSchema = must(schema.relationships[relationship]);\n for (const node of children) {\n applyChange(\n parentEntry,\n {type: change.type, node},\n childSchema,\n relationship,\n format,\n );\n }\n }\n return;\n case 'edit':\n // If hidden at this level it means that the hidden row was changed. If\n // the row was changed in such a way that it would change the\n // relationships then the edit would have been split into remove and\n // add.\n return;\n case 'child': {\n const childSchema = must(\n schema.relationships[change.child.relationshipName],\n );\n applyChange(\n parentEntry,\n change.child.change,\n childSchema,\n relationship,\n format,\n );\n return;\n }\n default:\n unreachable(change);\n }\n }\n\n const {singular, relationships: childFormats} = format;\n switch (change.type) {\n case 'add': {\n // TODO: Only create a new entry if we need to mutate the existing one.\n const newEntry: Entry = {\n ...change.node.row,\n };\n if (singular) {\n assertUndefined(\n parentEntry[relationship],\n 'single output already exists',\n );\n parentEntry[relationship] = newEntry;\n } else {\n const view = parentEntry[relationship];\n assertArray(view);\n const {pos, found} = binarySearch(view, newEntry, schema.compareRows);\n assert(!found, 'node already exists');\n view.splice(pos, 0, newEntry);\n }\n for (const [relationship, children] of Object.entries(\n change.node.relationships,\n )) {\n // TODO: Is there a flag to make TypeScript complain that dictionary access might be undefined?\n const childSchema = must(schema.relationships[relationship]);\n const childFormat = must(childFormats[relationship]);\n const newView = childFormat.singular ? undefined : ([] as EntryList);\n newEntry[relationship] = newView;\n for (const node of children) {\n applyChange(\n newEntry,\n {type: 'add', node},\n childSchema,\n relationship,\n childFormat,\n );\n }\n }\n break;\n }\n case 'remove': {\n if (singular) {\n assertObject(parentEntry[relationship]);\n parentEntry[relationship] = undefined;\n } else {\n assertArray(parentEntry[relationship]);\n const view = parentEntry[relationship];\n const {pos, found} = binarySearch(\n view,\n change.node.row,\n schema.compareRows,\n );\n assert(found, 'node does not exist');\n view.splice(pos, 1);\n }\n break;\n }\n case 'child': {\n let existing: Entry;\n if (singular) {\n assertObject(parentEntry[relationship]);\n existing = parentEntry[relationship];\n } else {\n assertArray(parentEntry[relationship]);\n const list = parentEntry[relationship];\n const {pos, found} = binarySearch(list, change.row, schema.compareRows);\n assert(found, 'node does not exist');\n existing = list[pos];\n }\n\n const childSchema = must(\n schema.relationships[change.child.relationshipName],\n );\n const childFormat = must(\n format.relationships[change.child.relationshipName],\n );\n applyChange(\n existing,\n change.child.change,\n childSchema,\n change.child.relationshipName,\n childFormat,\n );\n break;\n }\n case 'edit': {\n if (singular) {\n assertObject(parentEntry[relationship]);\n parentEntry[relationship] = {\n ...parentEntry[relationship],\n ...change.row,\n };\n } else {\n assertArray(parentEntry[relationship]);\n const view = parentEntry[relationship];\n // If the order changed due to the edit, we need to remove and reinsert.\n if (schema.compareRows(change.oldRow, change.row) === 0) {\n const {pos, found} = binarySearch(\n view,\n change.oldRow,\n schema.compareRows,\n );\n assert(found, 'node does not exists');\n view[pos] = makeEntryPreserveRelationships(\n change.row,\n view[pos],\n schema.relationships,\n );\n } else {\n // Remove\n const {pos, found} = binarySearch(\n view,\n change.oldRow,\n schema.compareRows,\n );\n assert(found, 'node does not exists');\n const oldEntry = view[pos];\n view.splice(pos, 1);\n\n // Insert\n {\n const {pos, found} = binarySearch(\n view,\n change.row,\n schema.compareRows,\n );\n assert(!found, 'node already exists');\n view.splice(\n pos,\n 0,\n makeEntryPreserveRelationships(\n change.row,\n oldEntry,\n schema.relationships,\n ),\n );\n }\n }\n }\n break;\n }\n default:\n unreachable(change);\n }\n}\n\n// TODO: Do not return an object. It puts unnecessary pressure on the GC.\nfunction binarySearch(view: EntryList, target: Entry, comparator: Comparator) {\n let low = 0;\n let high = view.length - 1;\n while (low <= high) {\n const mid = (low + high) >>> 1;\n const comparison = comparator(view[mid] as Row, target as Row);\n if (comparison < 0) {\n low = mid + 1;\n } else if (comparison > 0) {\n high = mid - 1;\n } else {\n return {pos: mid, found: true};\n }\n }\n return {pos: low, found: false};\n}\n\nfunction makeEntryPreserveRelationships(\n row: Row,\n entry: Entry,\n relationships: {[key: string]: TableSchema},\n): Entry {\n const result: Entry = {...row};\n for (const relationship in relationships) {\n assert(!(relationship in row), 'Relationship already exists');\n result[relationship] = entry[relationship];\n }\n return result;\n}\n"],
3
+ "sources": ["../../shared/src/asserts.ts", "../../shared/src/must.ts", "../../zql/src/ivm/view-apply-change.ts"],
4
+ "sourcesContent": ["export function assert(b: unknown, msg = 'Assertion failed'): asserts b {\n if (!b) {\n throw new Error(msg);\n }\n}\n\nexport function assertString(v: unknown): asserts v is string {\n assertType(v, 'string');\n}\n\nexport function assertNumber(v: unknown): asserts v is number {\n assertType(v, 'number');\n}\n\nexport function assertBoolean(v: unknown): asserts v is boolean {\n assertType(v, 'boolean');\n}\n\nfunction assertType(v: unknown, t: string) {\n if (typeof v !== t) {\n throwInvalidType(v, t);\n }\n}\n\nexport function assertObject(v: unknown): asserts v is Record<string, unknown> {\n if (v === null) {\n throwInvalidType(v, 'object');\n }\n assertType(v, 'object');\n}\n\nexport function assertArray(v: unknown): asserts v is unknown[] {\n if (!Array.isArray(v)) {\n throwInvalidType(v, 'array');\n }\n}\n\nexport function invalidType(v: unknown, t: string): string {\n let s = 'Invalid type: ';\n if (v === null || v === undefined) {\n s += v;\n } else {\n s += `${typeof v} \\`${v}\\``;\n }\n return s + `, expected ${t}`;\n}\n\nexport function throwInvalidType(v: unknown, t: string): never {\n throw new Error(invalidType(v, t));\n}\n\nexport function assertNotNull<T>(v: T | null): asserts v is T {\n if (v === null) {\n throw new Error('Expected non-null value');\n }\n}\n\nexport function assertUndefined<T>(\n v: T | undefined,\n msg = 'Expected undefined value',\n): asserts v is T {\n if (v !== undefined) {\n throw new Error(msg);\n }\n}\n\nexport function assertNotUndefined<T>(\n v: T | undefined,\n msg = 'Expected non undefined value',\n): asserts v is T {\n if (v === undefined) {\n throw new Error(msg);\n }\n}\n\nexport function assertInstanceof<T>(\n v: unknown,\n t: new (...args: unknown[]) => T,\n): asserts v is T {\n if (!(v instanceof t)) {\n throw new Error(`Expected instanceof ${t.name}`);\n }\n}\n\nexport function assertUint8Array(v: unknown): asserts v is Uint8Array {\n assertInstanceof(v, Uint8Array);\n}\n\nexport function unreachable(): never;\nexport function unreachable(v: never): never;\nexport function unreachable(_?: never): never {\n throw new Error('Unreachable');\n}\n\nexport function notImplemented(): never {\n throw new Error('Not implemented');\n}\n", "export function must<T>(v: T | undefined | null, msg?: string): T {\n // eslint-disable-next-line eqeqeq\n if (v == null) {\n throw new Error(msg ?? `Unexpected ${v} value`);\n }\n return v;\n}\n", "import {\n assert,\n assertArray,\n assertObject,\n assertUndefined,\n unreachable,\n} from '../../../shared/src/asserts.js';\nimport {must} from '../../../shared/src/must.js';\nimport type {Row} from '../../../zero-protocol/src/data.js';\nimport type {Change} from './change.js';\nimport type {Comparator} from './data.js';\nimport type {SourceSchema} from './schema.js';\nimport type {Entry, EntryList, Format} from './view.js';\n\nexport function applyChange(\n parentEntry: Entry,\n change: Change,\n schema: SourceSchema,\n relationship: string,\n format: Format,\n) {\n if (schema.isHidden) {\n switch (change.type) {\n case 'add':\n case 'remove':\n for (const [relationship, children] of Object.entries(\n change.node.relationships,\n )) {\n const childSchema = must(schema.relationships[relationship]);\n for (const node of children) {\n applyChange(\n parentEntry,\n {type: change.type, node},\n childSchema,\n relationship,\n format,\n );\n }\n }\n return;\n case 'edit':\n // If hidden at this level it means that the hidden row was changed. If\n // the row was changed in such a way that it would change the\n // relationships then the edit would have been split into remove and\n // add.\n return;\n case 'child': {\n const childSchema = must(\n schema.relationships[change.child.relationshipName],\n );\n applyChange(\n parentEntry,\n change.child.change,\n childSchema,\n relationship,\n format,\n );\n return;\n }\n default:\n unreachable(change);\n }\n }\n\n const {singular, relationships: childFormats} = format;\n switch (change.type) {\n case 'add': {\n // TODO: Only create a new entry if we need to mutate the existing one.\n const newEntry: Entry = {\n ...change.node.row,\n };\n if (singular) {\n assertUndefined(\n parentEntry[relationship],\n 'single output already exists',\n );\n parentEntry[relationship] = newEntry;\n } else {\n const view = parentEntry[relationship];\n assertArray(view);\n const {pos, found} = binarySearch(view, newEntry, schema.compareRows);\n assert(!found, 'node already exists');\n view.splice(pos, 0, newEntry);\n }\n for (const [relationship, children] of Object.entries(\n change.node.relationships,\n )) {\n // TODO: Is there a flag to make TypeScript complain that dictionary access might be undefined?\n const childSchema = must(schema.relationships[relationship]);\n const childFormat = must(childFormats[relationship]);\n const newView = childFormat.singular ? undefined : ([] as EntryList);\n newEntry[relationship] = newView;\n for (const node of children) {\n applyChange(\n newEntry,\n {type: 'add', node},\n childSchema,\n relationship,\n childFormat,\n );\n }\n }\n break;\n }\n case 'remove': {\n if (singular) {\n assertObject(parentEntry[relationship]);\n parentEntry[relationship] = undefined;\n } else {\n assertArray(parentEntry[relationship]);\n const view = parentEntry[relationship];\n const {pos, found} = binarySearch(\n view,\n change.node.row,\n schema.compareRows,\n );\n assert(found, 'node does not exist');\n view.splice(pos, 1);\n }\n break;\n }\n case 'child': {\n let existing: Entry;\n if (singular) {\n assertObject(parentEntry[relationship]);\n existing = parentEntry[relationship];\n } else {\n assertArray(parentEntry[relationship]);\n const list = parentEntry[relationship];\n const {pos, found} = binarySearch(list, change.row, schema.compareRows);\n assert(found, 'node does not exist');\n existing = list[pos];\n }\n\n const childSchema = must(\n schema.relationships[change.child.relationshipName],\n );\n const childFormat = must(\n format.relationships[change.child.relationshipName],\n );\n applyChange(\n existing,\n change.child.change,\n childSchema,\n change.child.relationshipName,\n childFormat,\n );\n break;\n }\n case 'edit': {\n if (singular) {\n assertObject(parentEntry[relationship]);\n parentEntry[relationship] = {\n ...parentEntry[relationship],\n ...change.row,\n };\n } else {\n assertArray(parentEntry[relationship]);\n const view = parentEntry[relationship];\n // If the order changed due to the edit, we need to remove and reinsert.\n if (schema.compareRows(change.oldRow, change.row) === 0) {\n const {pos, found} = binarySearch(\n view,\n change.oldRow,\n schema.compareRows,\n );\n assert(found, 'node does not exists');\n view[pos] = makeEntryPreserveRelationships(\n change.row,\n view[pos],\n schema.relationships,\n );\n } else {\n // Remove\n const {pos, found} = binarySearch(\n view,\n change.oldRow,\n schema.compareRows,\n );\n assert(found, 'node does not exists');\n const oldEntry = view[pos];\n view.splice(pos, 1);\n\n // Insert\n {\n const {pos, found} = binarySearch(\n view,\n change.row,\n schema.compareRows,\n );\n assert(!found, 'node already exists');\n view.splice(\n pos,\n 0,\n makeEntryPreserveRelationships(\n change.row,\n oldEntry,\n schema.relationships,\n ),\n );\n }\n }\n }\n break;\n }\n default:\n unreachable(change);\n }\n}\n\n// TODO: Do not return an object. It puts unnecessary pressure on the GC.\nfunction binarySearch(view: EntryList, target: Entry, comparator: Comparator) {\n let low = 0;\n let high = view.length - 1;\n while (low <= high) {\n const mid = (low + high) >>> 1;\n const comparison = comparator(view[mid] as Row, target as Row);\n if (comparison < 0) {\n low = mid + 1;\n } else if (comparison > 0) {\n high = mid - 1;\n } else {\n return {pos: mid, found: true};\n }\n }\n return {pos: low, found: false};\n}\n\nfunction makeEntryPreserveRelationships(\n row: Row,\n entry: Entry,\n relationships: {[key: string]: SourceSchema},\n): Entry {\n const result: Entry = {...row};\n for (const relationship in relationships) {\n assert(!(relationship in row), 'Relationship already exists');\n result[relationship] = entry[relationship];\n }\n return result;\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": ["relationship", "pos", "found"]
7
7
  }
package/out/internal.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import "./chunk-ULOTOBTC.js";
2
2
  import {
3
3
  applyChange
4
- } from "./chunk-RCVGGCMG.js";
4
+ } from "./chunk-YCMA66NH.js";
5
5
  import "./chunk-F5QR3K72.js";
6
6
  export {
7
7
  applyChange
package/out/react.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../zero-react/src/use-query.tsx", "../../shared/src/deep-clone.ts", "../../zero-react/src/use-zero.tsx"],
4
- "sourcesContent": ["import {useSyncExternalStore} from 'react';\nimport {deepClone} from '../../shared/src/deep-clone.js';\nimport type {Immutable} from '../../shared/src/immutable.js';\nimport type {\n Query,\n QueryType,\n Smash,\n TableSchema,\n TypedView,\n} from '../../zero-client/src/mod.js';\nimport type {AdvancedQuery} from '../../zql/src/zql/query/query-internal.js';\nimport {useZero} from './use-zero.js';\n\nexport function useQuery<\n TSchema extends TableSchema,\n TReturn extends QueryType,\n>(q: Query<TSchema, TReturn>, enable: boolean = true): Smash<TReturn> {\n const z = useZero();\n const view = viewStore.getView(\n z.clientID,\n q as AdvancedQuery<TSchema, TReturn>,\n enable,\n );\n // https://react.dev/reference/react/useSyncExternalStore\n return useSyncExternalStore(view.subscribeReactInternals, view.getSnapshot);\n}\n\nconst emptyArray: unknown[] = [];\nconst disabledSubscriber = () => () => {};\n\n/**\n * A global store of all active views.\n *\n * React subscribes and unsubscribes to these views\n * via `useSyncExternalStore`.\n *\n * Managing views through `useEffect` or `useLayoutEffect` causes\n * inconsistencies because effects run after render.\n *\n * For example, if useQuery used use*Effect in the component below:\n * ```ts\n * function Foo({issueID}) {\n * const issue = useQuery(z.query.issue.where('id', issueID).one());\n * if (issue?.id !== undefined && issue.id !== issueID) {\n * console.log('MISMATCH!', issue.id, issueID);\n * }\n * }\n * ```\n *\n * `MISMATCH` will be printed whenever the `issueID` prop changes.\n *\n * This is because the component will render once with\n * the old state returned from `useQuery`. Then the effect inside\n * `useQuery` will run. The component will render again with the new\n * state. This inconsistent transition can cause unexpected results.\n *\n * Emulating `useEffect` via `useState` and `if` causes resource leaks.\n * That is:\n *\n * ```ts\n * function useQuery(q) {\n * const [oldHash, setOldHash] = useState();\n * if (hash(q) !== oldHash) {\n * // make new view\n * }\n *\n * useEffect(() => {\n * return () => view.destroy();\n * }, []);\n * }\n * ```\n *\n * I'm not sure why but in strict mode the cleanup function\n * fails to be called for the first instance of the view and only\n * cleans up later instances.\n *\n * Swapping `useState` to `useRef` has similar problems.\n */\nclass ViewStore {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n #views = new Map<string, ViewWrapper<any, any>>();\n\n getView<TSchema extends TableSchema, TReturn extends QueryType>(\n clientID: string,\n query: AdvancedQuery<TSchema, TReturn>,\n enabled: boolean,\n ): {\n getSnapshot: () => Smash<TReturn>;\n subscribeReactInternals: (internals: () => void) => () => void;\n } {\n if (!enabled) {\n return {\n getSnapshot: () =>\n (query.format.singular ? undefined : emptyArray) as Smash<TReturn>,\n subscribeReactInternals: disabledSubscriber,\n };\n }\n\n const hash = query.hash() + clientID;\n let existing = this.#views.get(hash);\n if (!existing) {\n existing = new ViewWrapper(\n query,\n view => {\n const lastView = this.#views.get(hash);\n // I don't think this can happen\n // but lets guard against it so we don't\n // leak resources.\n if (lastView && lastView !== view) {\n throw new Error('View already exists');\n }\n this.#views.set(hash, view);\n },\n () => {\n this.#views.delete(hash);\n },\n ) as ViewWrapper<TSchema, TReturn>;\n this.#views.set(hash, existing);\n }\n return existing;\n }\n}\n\nconst viewStore = new ViewStore();\n\n/**\n * This wraps and ref counts a view.\n *\n * The only signal we have from React as to whether or not it is\n * done with a view is when it calls `unsubscribe`.\n *\n * In non-strict-mode we can clean up the view as soon\n * as the listener count goes to 0.\n *\n * In strict-mode, the listener cound will go to 0 then a\n * new listener for the same view is immeidatiely added back.\n *\n * This is why the `onMaterialized` and `onDematerialized` callbacks exist --\n * they allow a view which React is still referencing to be added\n * back into the store when React re-subscribes to it.\n *\n * This wrapper also exists to deal with the various\n * `useSyncExternalStore` caveats that cause excessive\n * re-renders and materializations.\n *\n * See: https://react.dev/reference/react/useSyncExternalStore#caveats\n * Especially:\n * 1. The store snapshot returned by getSnapshot must be immutable. If the underlying store has mutable data, return a new immutable snapshot if the data has changed. Otherwise, return a cached last snapshot.\n * 2. If a different subscribe function is passed during a re-render, React will re-subscribe to the store using the newly passed subscribe function. You can prevent this by declaring subscribe outside the component.\n */\nclass ViewWrapper<TSchema extends TableSchema, TReturn extends QueryType> {\n #view: TypedView<Smash<TReturn>> | undefined;\n readonly #defaultSnapshot: Smash<TReturn>;\n readonly #onDematerialized;\n readonly #onMaterialized;\n readonly #query: AdvancedQuery<TSchema, TReturn>;\n #snapshot: Smash<TReturn>;\n #reactInternals: Set<() => void>;\n\n constructor(\n query: AdvancedQuery<TSchema, TReturn>,\n onMaterialized: (view: ViewWrapper<TSchema, TReturn>) => void,\n onDematerialized: () => void,\n ) {\n this.#defaultSnapshot = (query.format.singular\n ? undefined\n : emptyArray) as unknown as Smash<TReturn>;\n this.#snapshot = this.#defaultSnapshot;\n this.#onMaterialized = onMaterialized;\n this.#onDematerialized = onDematerialized;\n this.#reactInternals = new Set();\n this.#query = query;\n }\n\n #onData = (snap: Immutable<Smash<TReturn>>) => {\n this.#snapshot = (\n snap === undefined ? snap : deepClone(snap)\n ) as Smash<TReturn>;\n for (const internals of this.#reactInternals) {\n internals();\n }\n };\n\n #materializeIfNeeded = () => {\n if (this.#view) {\n return;\n }\n\n this.#view = this.#query.materialize();\n this.#view.addListener(this.#onData);\n\n this.#onMaterialized(this);\n };\n\n getSnapshot = () => this.#snapshot;\n\n subscribeReactInternals = (internals: () => void): (() => void) => {\n this.#reactInternals.add(internals);\n this.#materializeIfNeeded();\n return () => {\n this.#reactInternals.delete(internals);\n if (this.#reactInternals.size === 0) {\n this.#view?.destroy();\n this.#view = undefined;\n this.#onDematerialized();\n }\n };\n };\n}\n", "import {hasOwn} from './has-own.js';\nimport type {JSONValue, ReadonlyJSONValue} from './json.js';\n\nexport function deepClone(value: ReadonlyJSONValue): JSONValue {\n const seen: Array<ReadonlyJSONValue> = [];\n return internalDeepClone(value, seen);\n}\n\nexport function internalDeepClone(\n value: ReadonlyJSONValue,\n seen: Array<ReadonlyJSONValue>,\n): JSONValue {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n case 'string':\n case 'undefined':\n return value;\n case 'object': {\n if (value === null) {\n return null;\n }\n if (seen.includes(value)) {\n throw new Error('Cyclic object');\n }\n seen.push(value);\n if (Array.isArray(value)) {\n const rv = value.map(v => internalDeepClone(v, seen));\n seen.pop();\n return rv;\n }\n\n const obj: JSONValue = {};\n\n for (const k in value) {\n if (hasOwn(value, k)) {\n const v = (value as Record<string, ReadonlyJSONValue>)[k];\n if (v !== undefined) {\n obj[k] = internalDeepClone(v, seen);\n }\n }\n }\n seen.pop();\n return obj;\n }\n\n default:\n throw new Error(`Invalid type: ${typeof value}`);\n }\n}\n", "import {createContext, useContext} from 'react';\nimport type {Schema, Zero} from '../../zero-client/src/mod.js';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst ZeroContext = createContext<Zero<Schema> | undefined>(undefined);\n\nexport function useZero<S extends Schema>(): Zero<S> {\n const zero = useContext(ZeroContext);\n if (zero === undefined) {\n throw new Error('useZero must be used within a ZeroProvider');\n }\n return zero as Zero<S>;\n}\n\nexport function createUseZero<S extends Schema>() {\n return () => useZero<S>();\n}\n\nexport function ZeroProvider<S extends Schema>({\n children,\n zero,\n}: {\n children: React.ReactNode;\n zero: Zero<S>;\n}) {\n return (\n <ZeroContext.Provider value={zero as Zero<Schema>}>\n {children}\n </ZeroContext.Provider>\n );\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {useSyncExternalStore} from 'react';\nimport {deepClone} from '../../shared/src/deep-clone.js';\nimport type {Immutable} from '../../shared/src/immutable.js';\nimport type {\n Query,\n QueryType,\n ReadonlyJSONValue,\n Smash,\n TypedView,\n} from '../../zero-client/src/mod.js';\nimport type {AdvancedQuery} from '../../zql/src/query/query-internal.js';\nimport {useZero} from './use-zero.js';\nimport type {TableSchema} from '../../zero-schema/src/table-schema.js';\n\nexport function useQuery<\n TSchema extends TableSchema,\n TReturn extends QueryType,\n>(q: Query<TSchema, TReturn>, enable: boolean = true): Smash<TReturn> {\n const z = useZero();\n const view = viewStore.getView(\n z.clientID,\n q as AdvancedQuery<TSchema, TReturn>,\n enable,\n );\n // https://react.dev/reference/react/useSyncExternalStore\n return useSyncExternalStore(view.subscribeReactInternals, view.getSnapshot);\n}\n\nconst emptyArray: unknown[] = [];\nconst disabledSubscriber = () => () => {};\n\n/**\n * A global store of all active views.\n *\n * React subscribes and unsubscribes to these views\n * via `useSyncExternalStore`.\n *\n * Managing views through `useEffect` or `useLayoutEffect` causes\n * inconsistencies because effects run after render.\n *\n * For example, if useQuery used use*Effect in the component below:\n * ```ts\n * function Foo({issueID}) {\n * const issue = useQuery(z.query.issue.where('id', issueID).one());\n * if (issue?.id !== undefined && issue.id !== issueID) {\n * console.log('MISMATCH!', issue.id, issueID);\n * }\n * }\n * ```\n *\n * `MISMATCH` will be printed whenever the `issueID` prop changes.\n *\n * This is because the component will render once with\n * the old state returned from `useQuery`. Then the effect inside\n * `useQuery` will run. The component will render again with the new\n * state. This inconsistent transition can cause unexpected results.\n *\n * Emulating `useEffect` via `useState` and `if` causes resource leaks.\n * That is:\n *\n * ```ts\n * function useQuery(q) {\n * const [oldHash, setOldHash] = useState();\n * if (hash(q) !== oldHash) {\n * // make new view\n * }\n *\n * useEffect(() => {\n * return () => view.destroy();\n * }, []);\n * }\n * ```\n *\n * I'm not sure why but in strict mode the cleanup function\n * fails to be called for the first instance of the view and only\n * cleans up later instances.\n *\n * Swapping `useState` to `useRef` has similar problems.\n */\nclass ViewStore {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n #views = new Map<string, ViewWrapper<any, any>>();\n\n getView<TSchema extends TableSchema, TReturn extends QueryType>(\n clientID: string,\n query: AdvancedQuery<TSchema, TReturn>,\n enabled: boolean,\n ): {\n getSnapshot: () => Smash<TReturn>;\n subscribeReactInternals: (internals: () => void) => () => void;\n } {\n if (!enabled) {\n return {\n getSnapshot: () =>\n (query.format.singular ? undefined : emptyArray) as Smash<TReturn>,\n subscribeReactInternals: disabledSubscriber,\n };\n }\n\n const hash = query.hash() + clientID;\n let existing = this.#views.get(hash);\n if (!existing) {\n existing = new ViewWrapper(\n query,\n view => {\n const lastView = this.#views.get(hash);\n // I don't think this can happen\n // but lets guard against it so we don't\n // leak resources.\n if (lastView && lastView !== view) {\n throw new Error('View already exists');\n }\n this.#views.set(hash, view);\n },\n () => {\n this.#views.delete(hash);\n },\n ) as ViewWrapper<TSchema, TReturn>;\n this.#views.set(hash, existing);\n }\n return existing;\n }\n}\n\nconst viewStore = new ViewStore();\n\n/**\n * This wraps and ref counts a view.\n *\n * The only signal we have from React as to whether or not it is\n * done with a view is when it calls `unsubscribe`.\n *\n * In non-strict-mode we can clean up the view as soon\n * as the listener count goes to 0.\n *\n * In strict-mode, the listener cound will go to 0 then a\n * new listener for the same view is immeidatiely added back.\n *\n * This is why the `onMaterialized` and `onDematerialized` callbacks exist --\n * they allow a view which React is still referencing to be added\n * back into the store when React re-subscribes to it.\n *\n * This wrapper also exists to deal with the various\n * `useSyncExternalStore` caveats that cause excessive\n * re-renders and materializations.\n *\n * See: https://react.dev/reference/react/useSyncExternalStore#caveats\n * Especially:\n * 1. The store snapshot returned by getSnapshot must be immutable. If the underlying store has mutable data, return a new immutable snapshot if the data has changed. Otherwise, return a cached last snapshot.\n * 2. If a different subscribe function is passed during a re-render, React will re-subscribe to the store using the newly passed subscribe function. You can prevent this by declaring subscribe outside the component.\n */\nclass ViewWrapper<TSchema extends TableSchema, TReturn extends QueryType> {\n #view: TypedView<Smash<TReturn>> | undefined;\n readonly #defaultSnapshot: Smash<TReturn>;\n readonly #onDematerialized;\n readonly #onMaterialized;\n readonly #query: AdvancedQuery<TSchema, TReturn>;\n #snapshot: Smash<TReturn>;\n #reactInternals: Set<() => void>;\n\n constructor(\n query: AdvancedQuery<TSchema, TReturn>,\n onMaterialized: (view: ViewWrapper<TSchema, TReturn>) => void,\n onDematerialized: () => void,\n ) {\n this.#defaultSnapshot = (query.format.singular\n ? undefined\n : emptyArray) as unknown as Smash<TReturn>;\n this.#snapshot = this.#defaultSnapshot;\n this.#onMaterialized = onMaterialized;\n this.#onDematerialized = onDematerialized;\n this.#reactInternals = new Set();\n this.#query = query;\n }\n\n #onData = (snap: Immutable<Smash<TReturn>>) => {\n this.#snapshot = (\n snap === undefined ? snap : deepClone(snap as ReadonlyJSONValue)\n ) as Smash<TReturn>;\n for (const internals of this.#reactInternals) {\n internals();\n }\n };\n\n #materializeIfNeeded = () => {\n if (this.#view) {\n return;\n }\n\n this.#view = this.#query.materialize();\n this.#view.addListener(this.#onData);\n\n this.#onMaterialized(this);\n };\n\n getSnapshot = () => this.#snapshot;\n\n subscribeReactInternals = (internals: () => void): (() => void) => {\n this.#reactInternals.add(internals);\n this.#materializeIfNeeded();\n return () => {\n this.#reactInternals.delete(internals);\n if (this.#reactInternals.size === 0) {\n this.#view?.destroy();\n this.#view = undefined;\n this.#onDematerialized();\n }\n };\n };\n}\n", "import {hasOwn} from './has-own.js';\nimport type {JSONValue, ReadonlyJSONValue} from './json.js';\n\nexport function deepClone(value: ReadonlyJSONValue): JSONValue {\n const seen: Array<ReadonlyJSONValue> = [];\n return internalDeepClone(value, seen);\n}\n\nexport function internalDeepClone(\n value: ReadonlyJSONValue,\n seen: Array<ReadonlyJSONValue>,\n): JSONValue {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n case 'string':\n case 'undefined':\n return value;\n case 'object': {\n if (value === null) {\n return null;\n }\n if (seen.includes(value)) {\n throw new Error('Cyclic object');\n }\n seen.push(value);\n if (Array.isArray(value)) {\n const rv = value.map(v => internalDeepClone(v, seen));\n seen.pop();\n return rv;\n }\n\n const obj: JSONValue = {};\n\n for (const k in value) {\n if (hasOwn(value, k)) {\n const v = (value as Record<string, ReadonlyJSONValue>)[k];\n if (v !== undefined) {\n obj[k] = internalDeepClone(v, seen);\n }\n }\n }\n seen.pop();\n return obj;\n }\n\n default:\n throw new Error(`Invalid type: ${typeof value}`);\n }\n}\n", "import {createContext, useContext} from 'react';\nimport type {Zero} from '../../zero-client/src/mod.js';\nimport type {Schema} from '../../zero-schema/src/mod.js';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst ZeroContext = createContext<Zero<Schema> | undefined>(undefined);\n\nexport function useZero<S extends Schema>(): Zero<S> {\n const zero = useContext(ZeroContext);\n if (zero === undefined) {\n throw new Error('useZero must be used within a ZeroProvider');\n }\n return zero as Zero<S>;\n}\n\nexport function createUseZero<S extends Schema>() {\n return () => useZero<S>();\n}\n\nexport function ZeroProvider<S extends Schema>({\n children,\n zero,\n}: {\n children: React.ReactNode;\n zero: Zero<S>;\n}) {\n return (\n <ZeroContext.Provider value={zero as Zero<Schema>}>\n {children}\n </ZeroContext.Provider>\n );\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"iterables.d.ts","sourceRoot":"","sources":["../../../../shared/src/iterables.ts"],"names":[],"mappings":"AAEA,wBAAiB,aAAa,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,2BAIxD;AA2BD,cAAM,WAAW,CAAC,CAAC,CAAE,YAAW,QAAQ,CAAC,CAAC,CAAC;IACzC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACN,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAI7B,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAIrD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC;CAG5D;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAEjE;AAED,wBAAiB,cAAc,CAAC,CAAC,EAC/B,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EACxB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,EAClC,QAAQ,UAAQ,GACf,gBAAgB,CAAC,CAAC,CAAC,CAwCrB"}
1
+ {"version":3,"file":"iterables.d.ts","sourceRoot":"","sources":["../../../../shared/src/iterables.ts"],"names":[],"mappings":"AAEA,wBAAiB,aAAa,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,2BAIxD;AA2BD,cAAM,WAAW,CAAC,CAAC,CAAE,YAAW,QAAQ,CAAC,CAAC,CAAC;IACzC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACN,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAI7B,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAIrD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC;CAG5D;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAEjE;AAED,wBAAiB,cAAc,CAAC,CAAC,EAC/B,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EACxB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,EAClC,QAAQ,UAAQ,GACf,gBAAgB,CAAC,CAAC,CAAC,CAoCrB"}
@@ -64,11 +64,6 @@ export function* mergeIterables(iterables, comparator, distinct = false) {
64
64
  yield min[0];
65
65
  }
66
66
  }
67
- catch (e) {
68
- for (const it of iterators) {
69
- it.throw?.(e);
70
- }
71
- }
72
67
  finally {
73
68
  for (const it of iterators) {
74
69
  it.return?.();
@@ -1 +1 @@
1
- {"version":3,"file":"iterables.js","sourceRoot":"","sources":["../../../../shared/src/iterables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iterables.js","sourceRoot":"","sources":["../../../../shared/src/iterables.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@ type Result<T> = {
17
17
  error: string;
18
18
  };
19
19
  export declare function test<T>(value: unknown, schema: v.Type<T>, mode?: ParseOptionsMode): Result<T>;
20
+ /**
21
+ * Similar to {@link test} but works for AbstractTypes such as Optional.
22
+ * This is for advanced usage. Prefer {@link test} unless you really need
23
+ * to operate directly on an Optional field.
24
+ */
25
+ export declare function testOptional<T>(value: unknown, schema: v.Type<T> | v.Optional<T>, mode?: ParseOptionsMode): Result<T | undefined>;
20
26
  /**
21
27
  * Shallowly marks the schema as readonly.
22
28
  */
@@ -24,4 +30,5 @@ export declare function readonly<T extends v.Type>(t: T): v.Type<Readonly<v.Infe
24
30
  export declare function readonlyObject<T extends Record<string, v.Type | v.Optional>>(t: T): v.ObjectType<Readonly<T>, undefined>;
25
31
  export declare function readonlyArray<T extends v.Type>(t: T): v.Type<readonly v.Infer<T>[]>;
26
32
  export declare function readonlyRecord<T extends v.Type>(t: T): v.Type<Readonly<Record<string, v.Infer<T>>>>;
33
+ export declare function instanceOfAbstractType<T = unknown>(obj: unknown): obj is v.Type<T> | v.Optional<T>;
27
34
  //# sourceMappingURL=valita.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"valita.d.ts","sourceRoot":"","sources":["../../../../shared/src/valita.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,cAAc,gBAAgB,CAAC;AAoH/B;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAC;AAElE,wBAAgB,KAAK,CAAC,CAAC,EACrB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EACjB,IAAI,CAAC,EAAE,gBAAgB,GACtB,CAAC,CAMH;AAED,wBAAgB,EAAE,CAAC,CAAC,EAClB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EACjB,IAAI,CAAC,EAAE,gBAAgB,GACtB,KAAK,IAAI,CAAC,CAEZ;AAED,wBAAgB,MAAM,CAAC,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EACjB,IAAI,CAAC,EAAE,gBAAgB,GACtB,OAAO,CAAC,KAAK,IAAI,CAAC,CAEpB;AAED,KAAK,MAAM,CAAC,CAAC,IAAI;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAC,GAAG;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAC;AAEnE,wBAAgB,IAAI,CAAC,CAAC,EACpB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EACjB,IAAI,CAAC,EAAE,gBAAgB,GACtB,MAAM,CAAC,CAAC,CAAC,CAMX;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAE7E;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,EAC1E,CAAC,EAAE,CAAC,GACH,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAEtC;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAC5C,CAAC,EAAE,CAAC,GACH,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAE/B;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAC7C,CAAC,EAAE,CAAC,GACH,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAE9C"}
1
+ {"version":3,"file":"valita.d.ts","sourceRoot":"","sources":["../../../../shared/src/valita.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,cAAc,gBAAgB,CAAC;AAoH/B;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAC;AAElE,wBAAgB,KAAK,CAAC,CAAC,EACrB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EACjB,IAAI,CAAC,EAAE,gBAAgB,GACtB,CAAC,CAMH;AAED,wBAAgB,EAAE,CAAC,CAAC,EAClB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EACjB,IAAI,CAAC,EAAE,gBAAgB,GACtB,KAAK,IAAI,CAAC,CAEZ;AAED,wBAAgB,MAAM,CAAC,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EACjB,IAAI,CAAC,EAAE,gBAAgB,GACtB,OAAO,CAAC,KAAK,IAAI,CAAC,CAEpB;AAED,KAAK,MAAM,CAAC,CAAC,IAAI;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAC,GAAG;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAC;AAEnE,wBAAgB,IAAI,CAAC,CAAC,EACpB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EACjB,IAAI,CAAC,EAAE,gBAAgB,GACtB,MAAM,CAAC,CAAC,CAAC,CAMX;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EACjC,IAAI,CAAC,EAAE,gBAAgB,GACtB,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAevB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAE7E;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,EAC1E,CAAC,EAAE,CAAC,GACH,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAEtC;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAC5C,CAAC,EAAE,CAAC,GACH,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAE/B;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAC7C,CAAC,EAAE,CAAC,GACH,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAE9C;AAOD,wBAAgB,sBAAsB,CAAC,CAAC,GAAG,OAAO,EAChD,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAElC"}
@@ -100,6 +100,29 @@ export function test(value, schema, mode) {
100
100
  }
101
101
  return res;
102
102
  }
103
+ /**
104
+ * Similar to {@link test} but works for AbstractTypes such as Optional.
105
+ * This is for advanced usage. Prefer {@link test} unless you really need
106
+ * to operate directly on an Optional field.
107
+ */
108
+ export function testOptional(value, schema, mode) {
109
+ let flags = 0x1; // FLAG_FORBID_EXTRA_KEYS;
110
+ if (mode === 'passthrough') {
111
+ flags = 0;
112
+ }
113
+ else if (mode === 'strip') {
114
+ flags = 0x2; // FLAG_STRIP_EXTRA_KEYS;
115
+ }
116
+ const res = schema.func(value, flags);
117
+ if (res === undefined) {
118
+ return { ok: true, value };
119
+ }
120
+ else if (res.ok) {
121
+ return res;
122
+ }
123
+ const err = new v.ValitaError(res);
124
+ return { ok: false, error: getMessage(err, value) };
125
+ }
103
126
  /**
104
127
  * Shallowly marks the schema as readonly.
105
128
  */
@@ -115,4 +138,9 @@ export function readonlyArray(t) {
115
138
  export function readonlyRecord(t) {
116
139
  return v.record(t);
117
140
  }
141
+ // eslint-disable-next-line @typescript-eslint/naming-convention
142
+ const AbstractType = Object.getPrototypeOf(Object.getPrototypeOf(v.string().optional())).constructor;
143
+ export function instanceOfAbstractType(obj) {
144
+ return obj instanceof AbstractType;
145
+ }
118
146
  //# sourceMappingURL=valita.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"valita.js","sourceRoot":"","sources":["../../../../shared/src/valita.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"valita.js","sourceRoot":"","sources":["../../../../shared/src/valita.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,cAAc,gBAAgB,CAAC;AAE/B,SAAS,SAAS,CAAC,KAAc;IAC/B,QAAQ,OAAO,KAAK,EAAE,CAAC;QACrB,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC;QAChC;YACE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,OAAO,OAAO,KAAK,CAAC;IACxB,CAAC;AACH,CAAC;AAID,SAAS,eAAe,CAAC,CAAU,EAAE,IAAuB;IAC1D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,8DAA8D;QAC9D,GAAG,GAAI,GAAW,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,WAAW,CAClB,IAAY,EACZ,QAAa,EACb,YAAuC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAErD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,SAAS,CACzB,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAC9B,IAAI,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,UAAU,CAAC,GAA0B,EAAE,CAAU;IACxD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,EAAC,IAAI,EAAC,GAAG,UAAU,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3D,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,cAAc;YACjB,OAAO,YAAY,WAAW,CAC5B,IAAI,EACJ,UAAU,CAAC,QAAQ,CACpB,GAAG,MAAM,SAAS,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QAChD,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,MAAM,GACV,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAEtE,IAAI,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBAC5B,OAAO,oBAAoB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;YAC/D,CAAC;YACD,OAAO,gCAAgC,MAAM,EAAE,CAAC;QAClD,CAAC;QAED,KAAK,iBAAiB;YACpB,OAAO,0BAA0B,WAAW,CAC1C,IAAI,EACJ,UAAU,CAAC,QAAQ,EACnB,SAAS,CACV,GAAG,MAAM,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QAE/C,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,OAAO,8BACL,UAAU,CAAC,SAAS,KAAK,UAAU,CAAC,SAAS;gBAC3C,CAAC,CAAC,UAAU,CAAC,SAAS;gBACtB,CAAC,CAAC,WAAW,UAAU,CAAC,SAAS,QAAQ,UAAU,CAAC,SAAS,EACjE,GAAG,MAAM,2BAA4B,CAAsB,CAAC,MAAM,EAAE,CAAC;QACvE,CAAC;QAED,KAAK,mBAAmB;YACtB,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO,uBAAuB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;YAC9D,CAAC;YACD,OAAO,yBAAyB,WAAW,CACzC,KAAK,EACL,UAAU,CAAC,IAAI,CAChB,GAAG,MAAM,EAAE,CAAC;QAEf,KAAK,eAAe;YAClB,OAAO,sBAAsB,MAAM,EAAE,CAAC;QAExC,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,EAAC,KAAK,EAAC,GAAG,UAAU,CAAC;YAC3B,MAAM,OAAO,GAAG,CAAC,KAAK;gBACpB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;oBAC3B,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC;YAC/B,OAAO,GAAG,OAAO,GAAG,MAAM,SAAS,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC;AASD,MAAM,UAAU,KAAK,CACnB,KAAc,EACd,MAAiB,EACjB,IAAuB;IAEvB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,EAAE,CAChB,KAAc,EACd,MAAiB,EACjB,IAAuB;IAEvB,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,KAAc,EACd,MAAiB,EACjB,IAAuB;IAEvB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAID,MAAM,UAAU,IAAI,CAClB,KAAc,EACd,MAAiB,EACjB,IAAuB;IAEvB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,EAAC,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAc,EACd,MAAiC,EACjC,IAAuB;IAEvB,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,0BAA0B;IAC3C,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,KAAK,GAAG,CAAC,CAAC;IACZ,CAAC;SAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,KAAK,GAAG,GAAG,CAAC,CAAC,yBAAyB;IACxC,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAc,CAAC;IACxC,CAAC;SAAM,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,EAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAmB,CAAI;IAC7C,OAAO,CAAiC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,CAAI;IAEJ,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,CAAI;IAEJ,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,CAAI;IAEJ,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,gEAAgE;AAChE,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CACxC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAC7C,CAAC,WAAW,CAAC;AAEd,MAAM,UAAU,sBAAsB,CACpC,GAAY;IAEZ,OAAO,GAAG,YAAY,YAAY,CAAC;AACrC,CAAC"}
package/out/solid.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  Zero
3
- } from "./chunk-4UHYW2B5.js";
3
+ } from "./chunk-INJ4WJHS.js";
4
4
  import "./chunk-HARIWJ2J.js";
5
5
  import "./chunk-ULOTOBTC.js";
6
6
  import {
7
7
  applyChange
8
- } from "./chunk-RCVGGCMG.js";
8
+ } from "./chunk-YCMA66NH.js";
9
9
  import "./chunk-F5QR3K72.js";
10
10
 
11
11
  // ../zero-solid/src/create-zero.ts
package/out/solid.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../zero-solid/src/create-zero.ts", "../../zero-solid/src/use-query.ts", "../../zero-solid/src/solid-view.ts"],
4
- "sourcesContent": ["import {batch} from 'solid-js';\nimport {\n Zero,\n type Schema,\n type ZeroOptions,\n} from '../../zero-client/src/mod.js';\nimport type {ZeroAdvancedOptions} from '../../zero-advanced/src/mod.js';\n\nexport function createZero<S extends Schema>(options: ZeroOptions<S>): Zero<S> {\n const opts: ZeroAdvancedOptions<S> = {\n ...options,\n batchViewUpdates: batch,\n };\n return new Zero(opts);\n}\n", "import {type Accessor, createMemo, onCleanup} from 'solid-js';\nimport type {\n Query,\n AdvancedQuery,\n QueryType,\n Smash,\n TableSchema,\n} from '../../zero-advanced/src/mod.js';\nimport {solidViewFactory} from './solid-view.js';\n\nexport function useQuery<\n TSchema extends TableSchema,\n TReturn extends QueryType,\n>(querySignal: () => Query<TSchema, TReturn>): Accessor<Smash<TReturn>> {\n return createMemo(() => {\n const query = querySignal();\n const view = (query as AdvancedQuery<TSchema, TReturn>).materialize(\n solidViewFactory,\n );\n\n onCleanup(() => {\n view.destroy();\n });\n\n return view.data;\n });\n}\n", "import {createStore, produce, type SetStoreFunction} from 'solid-js/store';\nimport {\n applyChange,\n type Change,\n type Entry,\n type Format,\n type Input,\n type Output,\n type Query,\n type QueryType,\n type Smash,\n type TableSchema,\n type View,\n} from '../../zero-advanced/src/mod.js';\n\nexport class SolidView<V extends View> implements Output {\n readonly #input: Input;\n readonly #format: Format;\n readonly #onDestroy: () => void;\n\n // Synthetic \"root\" entry that has a single \"\" relationship, so that we can\n // treat all changes, including the root change, generically.\n readonly #root: Entry;\n readonly #setRoot: SetStoreFunction<Entry>;\n\n constructor(\n input: Input,\n format: Format = {singular: false, relationships: {}},\n onDestroy: () => void = () => {},\n ) {\n this.#input = input;\n this.#format = format;\n this.#onDestroy = onDestroy;\n this.#input.setOutput(this);\n [this.#root, this.#setRoot] = createStore({\n '': format.singular ? undefined : [],\n });\n\n this.#setRoot(\n produce(draftRoot => {\n for (const node of this.#input.fetch({})) {\n applyChange(\n draftRoot,\n {type: 'add', node},\n this.#input.getSchema(),\n '',\n this.#format,\n );\n }\n }),\n );\n }\n\n get data() {\n return this.#root[''] as V;\n }\n\n destroy() {\n this.#onDestroy();\n }\n\n push(change: Change): void {\n this.#setRoot(\n produce(draftRoot => {\n applyChange(\n draftRoot,\n change,\n this.#input.getSchema(),\n '',\n this.#format,\n );\n }),\n );\n }\n}\n\nexport function solidViewFactory<\n TSchema extends TableSchema,\n TReturn extends QueryType,\n>(\n _query: Query<TSchema, TReturn>,\n input: Input,\n format: Format,\n onDestroy: () => void,\n): SolidView<Smash<TReturn>> {\n const v = new SolidView<Smash<TReturn>>(input, format, onDestroy);\n\n return v;\n}\n"],
5
- "mappings": ";;;;;;;;;;;AAAA,SAAQ,aAAY;AAQb,SAAS,WAA6B,SAAkC;AAC7E,QAAM,OAA+B;AAAA,IACnC,GAAG;AAAA,IACH,kBAAkB;AAAA,EACpB;AACA,SAAO,IAAI,KAAK,IAAI;AACtB;;;ACdA,SAAuB,YAAY,iBAAgB;;;ACAnD,SAAQ,aAAa,eAAqC;AAenD,IAAM,YAAN,MAAkD;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA,EAIA;AAAA,EACA;AAAA,EAET,YACE,OACA,SAAiB,EAAC,UAAU,OAAO,eAAe,CAAC,EAAC,GACpD,YAAwB,MAAM;AAAA,EAAC,GAC/B;AACA,SAAK,SAAS;AACd,SAAK,UAAU;AACf,SAAK,aAAa;AAClB,SAAK,OAAO,UAAU,IAAI;AAC1B,KAAC,KAAK,OAAO,KAAK,QAAQ,IAAI,YAAY;AAAA,MACxC,IAAI,OAAO,WAAW,SAAY,CAAC;AAAA,IACrC,CAAC;AAED,SAAK;AAAA,MACH,QAAQ,eAAa;AACnB,mBAAW,QAAQ,KAAK,OAAO,MAAM,CAAC,CAAC,GAAG;AACxC;AAAA,YACE;AAAA,YACA,EAAC,MAAM,OAAO,KAAI;AAAA,YAClB,KAAK,OAAO,UAAU;AAAA,YACtB;AAAA,YACA,KAAK;AAAA,UACP;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK,MAAM,EAAE;AAAA,EACtB;AAAA,EAEA,UAAU;AACR,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,KAAK,QAAsB;AACzB,SAAK;AAAA,MACH,QAAQ,eAAa;AACnB;AAAA,UACE;AAAA,UACA;AAAA,UACA,KAAK,OAAO,UAAU;AAAA,UACtB;AAAA,UACA,KAAK;AAAA,QACP;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEO,SAAS,iBAId,QACA,OACA,QACA,WAC2B;AAC3B,QAAM,IAAI,IAAI,UAA0B,OAAO,QAAQ,SAAS;AAEhE,SAAO;AACT;;;AD9EO,SAAS,SAGd,aAAsE;AACtE,SAAO,WAAW,MAAM;AACtB,UAAM,QAAQ,YAAY;AAC1B,UAAM,OAAQ,MAA0C;AAAA,MACtD;AAAA,IACF;AAEA,cAAU,MAAM;AACd,WAAK,QAAQ;AAAA,IACf,CAAC;AAED,WAAO,KAAK;AAAA,EACd,CAAC;AACH;",
4
+ "sourcesContent": ["import {batch} from 'solid-js';\nimport {Zero, type ZeroOptions} from '../../zero-client/src/mod.js';\nimport type {ZeroAdvancedOptions} from '../../zero-advanced/src/mod.js';\nimport type {Schema} from '../../zero-schema/src/mod.js';\n\nexport function createZero<S extends Schema>(options: ZeroOptions<S>): Zero<S> {\n const opts: ZeroAdvancedOptions<S> = {\n ...options,\n batchViewUpdates: batch,\n };\n return new Zero(opts);\n}\n", "import {type Accessor, createMemo, onCleanup} from 'solid-js';\nimport type {\n Query,\n AdvancedQuery,\n QueryType,\n Smash,\n TableSchema,\n} from '../../zero-advanced/src/mod.js';\nimport {solidViewFactory} from './solid-view.js';\n\nexport function useQuery<\n TSchema extends TableSchema,\n TReturn extends QueryType,\n>(querySignal: () => Query<TSchema, TReturn>): Accessor<Smash<TReturn>> {\n return createMemo(() => {\n const query = querySignal();\n const view = (query as AdvancedQuery<TSchema, TReturn>).materialize(\n solidViewFactory,\n );\n\n onCleanup(() => {\n view.destroy();\n });\n\n return view.data;\n });\n}\n", "import {createStore, produce, type SetStoreFunction} from 'solid-js/store';\nimport {\n applyChange,\n type Change,\n type Entry,\n type Format,\n type Input,\n type Output,\n type Query,\n type QueryType,\n type Smash,\n type TableSchema,\n type View,\n} from '../../zero-advanced/src/mod.js';\n\nexport class SolidView<V extends View> implements Output {\n readonly #input: Input;\n readonly #format: Format;\n readonly #onDestroy: () => void;\n\n // Synthetic \"root\" entry that has a single \"\" relationship, so that we can\n // treat all changes, including the root change, generically.\n readonly #root: Entry;\n readonly #setRoot: SetStoreFunction<Entry>;\n\n constructor(\n input: Input,\n format: Format = {singular: false, relationships: {}},\n onDestroy: () => void = () => {},\n ) {\n this.#input = input;\n this.#format = format;\n this.#onDestroy = onDestroy;\n this.#input.setOutput(this);\n [this.#root, this.#setRoot] = createStore({\n '': format.singular ? undefined : [],\n });\n\n this.#setRoot(\n produce(draftRoot => {\n for (const node of this.#input.fetch({})) {\n applyChange(\n draftRoot,\n {type: 'add', node},\n this.#input.getSchema(),\n '',\n this.#format,\n );\n }\n }),\n );\n }\n\n get data() {\n return this.#root[''] as V;\n }\n\n destroy() {\n this.#onDestroy();\n }\n\n push(change: Change): void {\n this.#setRoot(\n produce(draftRoot => {\n applyChange(\n draftRoot,\n change,\n this.#input.getSchema(),\n '',\n this.#format,\n );\n }),\n );\n }\n}\n\nexport function solidViewFactory<\n TSchema extends TableSchema,\n TReturn extends QueryType,\n>(\n _query: Query<TSchema, TReturn>,\n input: Input,\n format: Format,\n onDestroy: () => void,\n): SolidView<Smash<TReturn>> {\n const v = new SolidView<Smash<TReturn>>(input, format, onDestroy);\n\n return v;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;AAAA,SAAQ,aAAY;AAKb,SAAS,WAA6B,SAAkC;AAC7E,QAAM,OAA+B;AAAA,IACnC,GAAG;AAAA,IACH,kBAAkB;AAAA,EACpB;AACA,SAAO,IAAI,KAAK,IAAI;AACtB;;;ACXA,SAAuB,YAAY,iBAAgB;;;ACAnD,SAAQ,aAAa,eAAqC;AAenD,IAAM,YAAN,MAAkD;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA,EAIA;AAAA,EACA;AAAA,EAET,YACE,OACA,SAAiB,EAAC,UAAU,OAAO,eAAe,CAAC,EAAC,GACpD,YAAwB,MAAM;AAAA,EAAC,GAC/B;AACA,SAAK,SAAS;AACd,SAAK,UAAU;AACf,SAAK,aAAa;AAClB,SAAK,OAAO,UAAU,IAAI;AAC1B,KAAC,KAAK,OAAO,KAAK,QAAQ,IAAI,YAAY;AAAA,MACxC,IAAI,OAAO,WAAW,SAAY,CAAC;AAAA,IACrC,CAAC;AAED,SAAK;AAAA,MACH,QAAQ,eAAa;AACnB,mBAAW,QAAQ,KAAK,OAAO,MAAM,CAAC,CAAC,GAAG;AACxC;AAAA,YACE;AAAA,YACA,EAAC,MAAM,OAAO,KAAI;AAAA,YAClB,KAAK,OAAO,UAAU;AAAA,YACtB;AAAA,YACA,KAAK;AAAA,UACP;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK,MAAM,EAAE;AAAA,EACtB;AAAA,EAEA,UAAU;AACR,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,KAAK,QAAsB;AACzB,SAAK;AAAA,MACH,QAAQ,eAAa;AACnB;AAAA,UACE;AAAA,UACA;AAAA,UACA,KAAK,OAAO,UAAU;AAAA,UACtB;AAAA,UACA,KAAK;AAAA,QACP;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEO,SAAS,iBAId,QACA,OACA,QACA,WAC2B;AAC3B,QAAM,IAAI,IAAI,UAA0B,OAAO,QAAQ,SAAS;AAEhE,SAAO;AACT;;;AD9EO,SAAS,SAGd,aAAsE;AACtE,SAAO,WAAW,MAAM;AACtB,UAAM,QAAQ,YAAY;AAC1B,UAAM,OAAQ,MAA0C;AAAA,MACtD;AAAA,IACF;AAEA,cAAU,MAAM;AACd,WAAK,QAAQ;AAAA,IACf,CAAC;AAED,WAAO,KAAK;AAAA,EACd,CAAC;AACH;",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,9 @@
1
- export type { Change } from '../../zql/src/zql/ivm/change.js';
2
- export type { Input, Output } from '../../zql/src/zql/ivm/operator.js';
3
- export { applyChange } from '../../zql/src/zql/ivm/view-apply-change.js';
4
- export type { Entry, Format, View } from '../../zql/src/zql/ivm/view.js';
5
- export type { AdvancedQuery } from '../../zql/src/zql/query/query-internal.js';
6
- export type { Query, QueryType, Smash } from '../../zql/src/zql/query/query.js';
7
- export type { TableSchema } from '../../zql/src/zql/query/schema.js';
1
+ export type { Change } from '../../zql/src/ivm/change.js';
2
+ export type { Input, Output } from '../../zql/src/ivm/operator.js';
3
+ export { applyChange } from '../../zql/src/ivm/view-apply-change.js';
4
+ export type { Entry, Format, View } from '../../zql/src/ivm/view.js';
5
+ export type { AdvancedQuery } from '../../zql/src/query/query-internal.js';
6
+ export type { Query, QueryType, Smash } from '../../zql/src/query/query.js';
7
+ export type { TableSchema } from '../../zero-schema/src/table-schema.js';
8
8
  export type { ZeroAdvancedOptions } from '../../zero-client/src/client/options.js';
9
9
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../zero-advanced/src/mod.ts"],"names":[],"mappings":"AAAA,YAAY,EAAC,MAAM,EAAC,MAAM,iCAAiC,CAAC;AAC5D,YAAY,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAC,WAAW,EAAC,MAAM,4CAA4C,CAAC;AACvE,YAAY,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,+BAA+B,CAAC;AACvE,YAAY,EAAC,aAAa,EAAC,MAAM,2CAA2C,CAAC;AAC7E,YAAY,EAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,MAAM,kCAAkC,CAAC;AAC9E,YAAY,EAAC,WAAW,EAAC,MAAM,mCAAmC,CAAC;AACnE,YAAY,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../zero-advanced/src/mod.ts"],"names":[],"mappings":"AAAA,YAAY,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AACxD,YAAY,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,wCAAwC,CAAC;AACnE,YAAY,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,2BAA2B,CAAC;AACnE,YAAY,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AACzE,YAAY,EAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,MAAM,8BAA8B,CAAC;AAC1E,YAAY,EAAC,WAAW,EAAC,MAAM,uCAAuC,CAAC;AACvE,YAAY,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import type { AST } from '../../../zero-protocol/src/ast.js';
2
- import type { Format } from '../../../zql/src/zql/ivm/view.js';
3
- import type { NormalizedTableSchema } from '../../../zql/src/zql/query/normalize-table-schema.js';
4
- import { AbstractQuery } from '../../../zql/src/zql/query/query-impl.js';
5
- import type { DefaultQueryResultRow, Query, QueryType, Smash } from '../../../zql/src/zql/query/query.js';
6
- import type { TableSchema } from '../../../zql/src/zql/query/schema.js';
7
- import type { TypedView } from '../../../zql/src/zql/query/typed-view.js';
2
+ import type { Format } from '../../../zql/src/ivm/view.js';
3
+ import type { NormalizedTableSchema } from '../../../zero-schema/src/normalize-table-schema.js';
4
+ import { AbstractQuery } from '../../../zql/src/query/query-impl.js';
5
+ import type { DefaultQueryResultRow, Query, QueryType, Smash } from '../../../zql/src/query/query.js';
6
+ import type { TableSchema } from '../../../zero-schema/src/table-schema.js';
7
+ import type { TypedView } from '../../../zql/src/query/typed-view.js';
8
8
  export declare class ConfigQuery<TTableSchema extends TableSchema, TReturn extends QueryType = DefaultQueryResultRow<TTableSchema>> extends AbstractQuery<TTableSchema, TReturn> {
9
9
  constructor(schema: NormalizedTableSchema, ast?: AST, format?: Format | undefined);
10
10
  get ast(): AST;
@@ -1 +1 @@
1
- {"version":3,"file":"config-query.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/config-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,kCAAkC,CAAC;AAC7D,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,sDAAsD,CAAC;AAChG,OAAO,EAAC,aAAa,EAAC,MAAM,0CAA0C,CAAC;AACvE,OAAO,KAAK,EACV,qBAAqB,EACrB,KAAK,EACL,SAAS,EACT,KAAK,EACN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,sCAAsC,CAAC;AACtE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,0CAA0C,CAAC;AAExE,qBAAa,WAAW,CACtB,YAAY,SAAS,WAAW,EAChC,OAAO,SAAS,SAAS,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAC/D,SAAQ,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC;gBAE1C,MAAM,EAAE,qBAAqB,EAC7B,GAAG,GAAE,GAA+B,EACpC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAK7B,IAAI,GAAG,QAEN;IAED,SAAS,CAAC,SAAS,CAAC,OAAO,SAAS,WAAW,EAAE,OAAO,SAAS,SAAS,EACxE,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAI1B,WAAW,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAIxC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC;IAIrB,OAAO,IAAI;QACT,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB;CAGF"}
1
+ {"version":3,"file":"config-query.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/config-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAC,aAAa,EAAC,MAAM,sCAAsC,CAAC;AACnE,OAAO,KAAK,EACV,qBAAqB,EACrB,KAAK,EACL,SAAS,EACT,KAAK,EACN,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sCAAsC,CAAC;AAEpE,qBAAa,WAAW,CACtB,YAAY,SAAS,WAAW,EAChC,OAAO,SAAS,SAAS,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAC/D,SAAQ,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC;gBAE1C,MAAM,EAAE,qBAAqB,EAC7B,GAAG,GAAE,GAA+B,EACpC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAK7B,IAAI,GAAG,QAEN;IAED,SAAS,CAAC,SAAS,CAAC,OAAO,SAAS,WAAW,EAAE,OAAO,SAAS,SAAS,EACxE,MAAM,EAAE,qBAAqB,EAC7B,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAI1B,WAAW,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAIxC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC;IAIrB,OAAO,IAAI;QACT,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB;CAGF"}
@@ -1,4 +1,4 @@
1
- import { AbstractQuery } from '../../../zql/src/zql/query/query-impl.js';
1
+ import { AbstractQuery } from '../../../zql/src/query/query-impl.js';
2
2
  export class ConfigQuery extends AbstractQuery {
3
3
  constructor(schema, ast = { table: schema.tableName }, format) {
4
4
  super(schema, ast, format);
@@ -1 +1 @@
1
- {"version":3,"file":"config-query.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/config-query.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,aAAa,EAAC,MAAM,0CAA0C,CAAC;AAUvE,MAAM,OAAO,WAGX,SAAQ,aAAoC;IAC5C,YACE,MAA6B,EAC7B,MAAW,EAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAC,EACpC,MAA2B;QAE3B,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAES,SAAS,CACjB,MAA6B,EAC7B,GAAQ,EACR,MAA0B;QAE1B,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW;QACT,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,GAAG;QACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QAIL,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;CACF"}
1
+ {"version":3,"file":"config-query.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/config-query.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,aAAa,EAAC,MAAM,sCAAsC,CAAC;AAUnE,MAAM,OAAO,WAGX,SAAQ,aAAoC;IAC5C,YACE,MAA6B,EAC7B,MAAW,EAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAC,EACpC,MAA2B;QAE3B,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAES,SAAS,CACjB,MAA6B,EAC7B,GAAQ,EACR,MAA0B;QAE1B,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW;QACT,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,GAAG;QACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QAIL,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
- import type { Query, SchemaToRow } from '../../../zql/src/zql/query/query.js';
2
- import type { TableSchema } from '../../../zql/src/zql/query/schema.js';
1
+ import type { Query } from '../../../zql/src/query/query.js';
2
+ import { type TableSchema, type TableSchemaToRow } from '../../../zero-schema/src/table-schema.js';
3
3
  import type { Action, ZeroConfig as CompiledZeroConfig, LogConfig, ZeroConfigBase } from './zero-config.js';
4
4
  export type { ZeroConfig as CompiledZeroConfig } from './zero-config.js';
5
5
  type Schema = {
@@ -11,7 +11,7 @@ type Schema = {
11
11
  export type Queries<TSchema extends Schema> = {
12
12
  [K in keyof TSchema['tables']]: Query<TSchema['tables'][K]>;
13
13
  };
14
- type InstanceAuthzRule<TAuthDataShape, TSchema extends TableSchema> = (authData: TAuthDataShape, row: SchemaToRow<TSchema>) => Query<TableSchema>;
14
+ type InstanceAuthzRule<TAuthDataShape, TSchema extends TableSchema> = (authData: TAuthDataShape, row: TableSchemaToRow<TSchema>) => Query<TableSchema>;
15
15
  type StaticAuthzRule<TAuthDataShape> = (authData: TAuthDataShape) => Query<TableSchema>;
16
16
  type StaticAssetAuthorization<TAuthDataShape> = {
17
17
  [K in Action]?: StaticAuthzRule<TAuthDataShape>[];
@@ -1 +1 @@
1
- {"version":3,"file":"define-config.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/define-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-config.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/define-config.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * so we can compile it to a JSON ZeroConfig.
5
5
  */
6
6
  import { normalizeSchema } from '../../../zero-client/src/client/normalized-schema.js';
7
+ import {} from '../../../zero-schema/src/table-schema.js';
7
8
  import { ConfigQuery } from './config-query.js';
8
9
  import { authDataRef, preMutationRowRef } from './refs.js';
9
10
  export async function defineConfig(schema, definer) {
@@ -1 +1 @@
1
- {"version":3,"file":"define-config.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/define-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,eAAe,EAAC,MAAM,sDAAsD,CAAC;AAIrF,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAiEzD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAe,EACf,OAIuC;IAEvC,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,EAAwC,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAA2B,CAAC,CAAC;IAC1D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,SAAS,aAAa,CACpB,MAA2C;IAE3C,OAAO;QACL,GAAG,MAAM;QACT,aAAa,EAAE,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC;QACzD,KAAK,EAAE;YACL,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,gBAAgB;YACxC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,IAAI,EAAE;SAChD;QACD,GAAG,EAAE;YACH,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,IAAI,MAAM;YACpC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI,MAAM;YAClC,iBAAiB,EAAE,MAAM,CAAC,GAAG,EAAE,iBAAiB;YAChD,mBAAmB,EAAE,MAAM,CAAC,GAAG,EAAE,mBAAmB;SACrD;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAA+D;IAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAgC,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,SAAS,CAAC,GAAG;YACf,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5C,MAAM,EAAE,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC;YAC/C,GAAG,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC;YACtC,IAAI,EAAE,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAgE;IAEhE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC;QAC7C,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC;QAC7C,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC;QAC7C,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAoD;IAEpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CACd,IAAI,CAAC,EAAE,CACL;QACE,OAAO;QAEL,IAAI,CAAC,WAA6B,CAGnC,CAAC,GAAG;KACG,CACb,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,WAEa;IAEb,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAA+C,EAAE,CAAC;IAC3D,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,UAAU,CAAC,GAAG;YAChB,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;YACxC,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;YACxC,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;YACxC,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;SACzC,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAyE;IAEzE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7C,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7C,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7C,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAA+D;IAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CACd,IAAI,CAAC,EAAE,CACL;QACE,OAAO;QAEL,IAAI,CACF,WAA6B,EAC7B,iBAAyC,CAI5C,CAAC,GAAG;KACG,CACb,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,SAEa;IAEb,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAA+C,EAAE,CAAC;IAC3D,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,UAAU,CAAC,GAAG;YAChB,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1C,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1C,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1C,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC;SAC3C,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"define-config.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/define-config.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { staticParam } from '../../../zql/src/zql/query/query-impl.js';
1
+ import { staticParam } from '../../../zql/src/query/query-impl.js';
2
2
  export const authDataRef = new Proxy({}, {
3
3
  get(_target, prop, _receiver) {
4
4
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1 +1 @@
1
- {"version":3,"file":"refs.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAErE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,KAAK,CAClC,EAAE,EACF;IACE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS;QAC1B,8DAA8D;QAC9D,OAAO,WAAW,CAAW,UAAU,EAAE,IAAc,CAAC,CAAC;IAC3D,CAAC;CACF,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,KAAK,CACxC,EAAE,EACF;IACE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS;QAC1B,8DAA8D;QAC9D,OAAO,WAAW,CAAW,gBAAgB,EAAE,IAAc,CAAC,CAAC;IACjE,CAAC;CACF,CACF,CAAC"}
1
+ {"version":3,"file":"refs.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,sCAAsC,CAAC;AAEjE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,KAAK,CAClC,EAAE,EACF;IACE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS;QAC1B,8DAA8D;QAC9D,OAAO,WAAW,CAAW,UAAU,EAAE,IAAc,CAAC,CAAC;IAC3D,CAAC;CACF,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,KAAK,CACxC,EAAE,EACF;IACE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS;QAC1B,8DAA8D;QAC9D,OAAO,WAAW,CAAW,gBAAgB,EAAE,IAAc,CAAC,CAAC;IACjE,CAAC;CACF,CACF,CAAC"}