@dxos/echo 0.8.4-main.66e292d → 0.8.4-main.69d29f4

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 (459) hide show
  1. package/README.md +1 -2
  2. package/dist/lib/browser/Annotation.mjs +33 -0
  3. package/dist/lib/browser/Annotation.mjs.map +7 -0
  4. package/dist/lib/browser/Database.mjs +18 -0
  5. package/dist/lib/browser/Database.mjs.map +7 -0
  6. package/dist/lib/browser/Entity.mjs +52 -0
  7. package/dist/lib/browser/Entity.mjs.map +7 -0
  8. package/dist/lib/browser/Err.mjs +11 -0
  9. package/dist/lib/browser/Err.mjs.map +7 -0
  10. package/dist/lib/browser/Filter.mjs +62 -0
  11. package/dist/lib/browser/Filter.mjs.map +7 -0
  12. package/dist/lib/browser/Format.mjs +67 -0
  13. package/dist/lib/browser/Format.mjs.map +7 -0
  14. package/dist/lib/browser/JsonSchema.mjs +20 -0
  15. package/dist/lib/browser/JsonSchema.mjs.map +7 -0
  16. package/dist/lib/browser/Key.mjs +13 -0
  17. package/dist/lib/browser/Key.mjs.map +7 -0
  18. package/dist/lib/browser/Obj.mjs +91 -0
  19. package/dist/lib/browser/Obj.mjs.map +7 -0
  20. package/dist/lib/browser/Order.mjs +13 -0
  21. package/dist/lib/browser/Order.mjs.map +7 -0
  22. package/dist/lib/browser/Query.mjs +27 -0
  23. package/dist/lib/browser/Query.mjs.map +7 -0
  24. package/dist/lib/browser/QueryResult.mjs +3 -0
  25. package/dist/lib/browser/QueryResult.mjs.map +7 -0
  26. package/dist/lib/browser/Ref.mjs +23 -0
  27. package/dist/lib/browser/Ref.mjs.map +7 -0
  28. package/dist/lib/browser/Relation.mjs +85 -0
  29. package/dist/lib/browser/Relation.mjs.map +7 -0
  30. package/dist/lib/browser/SchemaRegistry.mjs +3 -0
  31. package/dist/lib/browser/SchemaRegistry.mjs.map +7 -0
  32. package/dist/lib/browser/Tag.mjs +26 -0
  33. package/dist/lib/browser/Tag.mjs.map +7 -0
  34. package/dist/lib/browser/Type.mjs +48 -0
  35. package/dist/lib/browser/Type.mjs.map +7 -0
  36. package/dist/lib/browser/chunk-2RMVRVOB.mjs +250 -0
  37. package/dist/lib/browser/chunk-2RMVRVOB.mjs.map +7 -0
  38. package/dist/lib/browser/chunk-5RDNDPMX.mjs +74 -0
  39. package/dist/lib/browser/chunk-5RDNDPMX.mjs.map +7 -0
  40. package/dist/lib/browser/chunk-73M2G455.mjs +98 -0
  41. package/dist/lib/browser/chunk-73M2G455.mjs.map +7 -0
  42. package/dist/lib/browser/chunk-7STIBCP7.mjs +133 -0
  43. package/dist/lib/browser/chunk-7STIBCP7.mjs.map +7 -0
  44. package/dist/lib/browser/chunk-AFGYYVVQ.mjs +57 -0
  45. package/dist/lib/browser/chunk-AFGYYVVQ.mjs.map +7 -0
  46. package/dist/lib/browser/chunk-BC6R4CAF.mjs +24 -0
  47. package/dist/lib/browser/chunk-BC6R4CAF.mjs.map +7 -0
  48. package/dist/lib/browser/chunk-BPYFLHWO.mjs +158 -0
  49. package/dist/lib/browser/chunk-BPYFLHWO.mjs.map +7 -0
  50. package/dist/lib/browser/chunk-CBPFF3ZO.mjs +204 -0
  51. package/dist/lib/browser/chunk-CBPFF3ZO.mjs.map +7 -0
  52. package/dist/lib/browser/chunk-CGS2ULMK.mjs +11 -0
  53. package/dist/lib/browser/chunk-CGS2ULMK.mjs.map +7 -0
  54. package/dist/lib/browser/chunk-CJ5YELTO.mjs +39 -0
  55. package/dist/lib/browser/chunk-CJ5YELTO.mjs.map +7 -0
  56. package/dist/lib/browser/chunk-FPOISFQK.mjs +40 -0
  57. package/dist/lib/browser/chunk-FPOISFQK.mjs.map +7 -0
  58. package/dist/lib/browser/chunk-INHXFXY5.mjs +22 -0
  59. package/dist/lib/browser/chunk-INHXFXY5.mjs.map +7 -0
  60. package/dist/lib/browser/chunk-IXVWLTG7.mjs +9 -0
  61. package/dist/lib/browser/chunk-IXVWLTG7.mjs.map +7 -0
  62. package/dist/lib/browser/chunk-JMKVF2YQ.mjs +43 -0
  63. package/dist/lib/browser/chunk-JMKVF2YQ.mjs.map +7 -0
  64. package/dist/lib/browser/chunk-L4RXUJHJ.mjs +143 -0
  65. package/dist/lib/browser/chunk-L4RXUJHJ.mjs.map +7 -0
  66. package/dist/lib/browser/chunk-MYCCGG2T.mjs +15 -0
  67. package/dist/lib/browser/chunk-MYCCGG2T.mjs.map +7 -0
  68. package/dist/lib/browser/{chunk-7GH6RXJ3.mjs → chunk-PAM4KEXE.mjs} +2005 -1841
  69. package/dist/lib/browser/chunk-PAM4KEXE.mjs.map +7 -0
  70. package/dist/lib/browser/chunk-QIWDIPLR.mjs +41 -0
  71. package/dist/lib/browser/chunk-QIWDIPLR.mjs.map +7 -0
  72. package/dist/lib/browser/chunk-R3S54KRI.mjs +403 -0
  73. package/dist/lib/browser/chunk-R3S54KRI.mjs.map +7 -0
  74. package/dist/lib/browser/chunk-RK4Z4JUZ.mjs +283 -0
  75. package/dist/lib/browser/chunk-RK4Z4JUZ.mjs.map +7 -0
  76. package/dist/lib/browser/chunk-TPIL3G6Y.mjs +288 -0
  77. package/dist/lib/browser/chunk-TPIL3G6Y.mjs.map +7 -0
  78. package/dist/lib/browser/chunk-YKTSSMDS.mjs +69 -0
  79. package/dist/lib/browser/chunk-YKTSSMDS.mjs.map +7 -0
  80. package/dist/lib/browser/chunk-ZHXZGIXD.mjs +9 -0
  81. package/dist/lib/browser/chunk-ZHXZGIXD.mjs.map +7 -0
  82. package/dist/lib/browser/index.mjs +65 -25
  83. package/dist/lib/browser/internal/index.mjs +213 -92
  84. package/dist/lib/browser/meta.json +1 -1
  85. package/dist/lib/browser/testing/index.mjs +80 -41
  86. package/dist/lib/browser/testing/index.mjs.map +3 -3
  87. package/dist/lib/node-esm/Annotation.mjs +33 -0
  88. package/dist/lib/node-esm/Annotation.mjs.map +7 -0
  89. package/dist/lib/node-esm/Database.mjs +18 -0
  90. package/dist/lib/node-esm/Database.mjs.map +7 -0
  91. package/dist/lib/node-esm/Entity.mjs +52 -0
  92. package/dist/lib/node-esm/Entity.mjs.map +7 -0
  93. package/dist/lib/node-esm/Err.mjs +11 -0
  94. package/dist/lib/node-esm/Err.mjs.map +7 -0
  95. package/dist/lib/node-esm/Filter.mjs +62 -0
  96. package/dist/lib/node-esm/Filter.mjs.map +7 -0
  97. package/dist/lib/node-esm/Format.mjs +67 -0
  98. package/dist/lib/node-esm/Format.mjs.map +7 -0
  99. package/dist/lib/node-esm/JsonSchema.mjs +20 -0
  100. package/dist/lib/node-esm/JsonSchema.mjs.map +7 -0
  101. package/dist/lib/node-esm/Key.mjs +13 -0
  102. package/dist/lib/node-esm/Key.mjs.map +7 -0
  103. package/dist/lib/node-esm/Obj.mjs +91 -0
  104. package/dist/lib/node-esm/Obj.mjs.map +7 -0
  105. package/dist/lib/node-esm/Order.mjs +13 -0
  106. package/dist/lib/node-esm/Order.mjs.map +7 -0
  107. package/dist/lib/node-esm/Query.mjs +27 -0
  108. package/dist/lib/node-esm/Query.mjs.map +7 -0
  109. package/dist/lib/node-esm/QueryResult.mjs +3 -0
  110. package/dist/lib/node-esm/QueryResult.mjs.map +7 -0
  111. package/dist/lib/node-esm/Ref.mjs +23 -0
  112. package/dist/lib/node-esm/Ref.mjs.map +7 -0
  113. package/dist/lib/node-esm/Relation.mjs +85 -0
  114. package/dist/lib/node-esm/Relation.mjs.map +7 -0
  115. package/dist/lib/node-esm/SchemaRegistry.mjs +3 -0
  116. package/dist/lib/node-esm/SchemaRegistry.mjs.map +7 -0
  117. package/dist/lib/node-esm/Tag.mjs +26 -0
  118. package/dist/lib/node-esm/Tag.mjs.map +7 -0
  119. package/dist/lib/node-esm/Type.mjs +48 -0
  120. package/dist/lib/node-esm/Type.mjs.map +7 -0
  121. package/dist/lib/node-esm/chunk-2RIFBW3A.mjs +250 -0
  122. package/dist/lib/node-esm/chunk-2RIFBW3A.mjs.map +7 -0
  123. package/dist/lib/node-esm/chunk-5CB2ZW74.mjs +57 -0
  124. package/dist/lib/node-esm/chunk-5CB2ZW74.mjs.map +7 -0
  125. package/dist/lib/node-esm/{chunk-M4B6BMD2.mjs → chunk-5U5F4AWK.mjs} +2005 -1841
  126. package/dist/lib/node-esm/chunk-5U5F4AWK.mjs.map +7 -0
  127. package/dist/lib/node-esm/chunk-AJEMYSIR.mjs +22 -0
  128. package/dist/lib/node-esm/chunk-AJEMYSIR.mjs.map +7 -0
  129. package/dist/lib/node-esm/chunk-BKYE5IW6.mjs +158 -0
  130. package/dist/lib/node-esm/chunk-BKYE5IW6.mjs.map +7 -0
  131. package/dist/lib/node-esm/chunk-BYOD7EVP.mjs +98 -0
  132. package/dist/lib/node-esm/chunk-BYOD7EVP.mjs.map +7 -0
  133. package/dist/lib/node-esm/chunk-FWTSPIFF.mjs +133 -0
  134. package/dist/lib/node-esm/chunk-FWTSPIFF.mjs.map +7 -0
  135. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  136. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  137. package/dist/lib/node-esm/chunk-K37NA7PO.mjs +43 -0
  138. package/dist/lib/node-esm/chunk-K37NA7PO.mjs.map +7 -0
  139. package/dist/lib/node-esm/chunk-LIXUCQJM.mjs +41 -0
  140. package/dist/lib/node-esm/chunk-LIXUCQJM.mjs.map +7 -0
  141. package/dist/lib/node-esm/chunk-MOLNWFNL.mjs +9 -0
  142. package/dist/lib/node-esm/chunk-MOLNWFNL.mjs.map +7 -0
  143. package/dist/lib/node-esm/chunk-MOWUEW5P.mjs +15 -0
  144. package/dist/lib/node-esm/chunk-MOWUEW5P.mjs.map +7 -0
  145. package/dist/lib/node-esm/chunk-NBWL7UCZ.mjs +40 -0
  146. package/dist/lib/node-esm/chunk-NBWL7UCZ.mjs.map +7 -0
  147. package/dist/lib/node-esm/chunk-OZEDKT4R.mjs +204 -0
  148. package/dist/lib/node-esm/chunk-OZEDKT4R.mjs.map +7 -0
  149. package/dist/lib/node-esm/chunk-PW3VCWL5.mjs +24 -0
  150. package/dist/lib/node-esm/chunk-PW3VCWL5.mjs.map +7 -0
  151. package/dist/lib/node-esm/chunk-TSTKBFST.mjs +403 -0
  152. package/dist/lib/node-esm/chunk-TSTKBFST.mjs.map +7 -0
  153. package/dist/lib/node-esm/chunk-UKGVOINP.mjs +9 -0
  154. package/dist/lib/node-esm/chunk-UKGVOINP.mjs.map +7 -0
  155. package/dist/lib/node-esm/chunk-UV63HEHQ.mjs +143 -0
  156. package/dist/lib/node-esm/chunk-UV63HEHQ.mjs.map +7 -0
  157. package/dist/lib/node-esm/chunk-WXLVPCRJ.mjs +288 -0
  158. package/dist/lib/node-esm/chunk-WXLVPCRJ.mjs.map +7 -0
  159. package/dist/lib/node-esm/chunk-WZ6YBELW.mjs +74 -0
  160. package/dist/lib/node-esm/chunk-WZ6YBELW.mjs.map +7 -0
  161. package/dist/lib/node-esm/chunk-XHJRMQZD.mjs +69 -0
  162. package/dist/lib/node-esm/chunk-XHJRMQZD.mjs.map +7 -0
  163. package/dist/lib/node-esm/chunk-YOLH5KS4.mjs +283 -0
  164. package/dist/lib/node-esm/chunk-YOLH5KS4.mjs.map +7 -0
  165. package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs +39 -0
  166. package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs.map +7 -0
  167. package/dist/lib/node-esm/index.mjs +65 -25
  168. package/dist/lib/node-esm/internal/index.mjs +213 -92
  169. package/dist/lib/node-esm/meta.json +1 -1
  170. package/dist/lib/node-esm/testing/index.mjs +80 -41
  171. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  172. package/dist/types/src/Annotation.d.ts +1 -1
  173. package/dist/types/src/Annotation.d.ts.map +1 -1
  174. package/dist/types/src/Database.d.ts +117 -60
  175. package/dist/types/src/Database.d.ts.map +1 -1
  176. package/dist/types/src/Entity.d.ts +111 -5
  177. package/dist/types/src/Entity.d.ts.map +1 -1
  178. package/dist/types/src/Entity.test.d.ts +2 -0
  179. package/dist/types/src/Entity.test.d.ts.map +1 -0
  180. package/dist/types/src/{errors.d.ts → Err.d.ts} +13 -17
  181. package/dist/types/src/Err.d.ts.map +1 -0
  182. package/dist/types/src/Filter.d.ts +120 -0
  183. package/dist/types/src/Filter.d.ts.map +1 -0
  184. package/dist/types/src/Format.d.ts.map +1 -1
  185. package/dist/types/src/Hypergraph.d.ts +60 -0
  186. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  187. package/dist/types/src/Obj.d.ts +268 -76
  188. package/dist/types/src/Obj.d.ts.map +1 -1
  189. package/dist/types/src/Obj.test.d.ts +2 -0
  190. package/dist/types/src/Obj.test.d.ts.map +1 -0
  191. package/dist/types/src/Order.d.ts +16 -0
  192. package/dist/types/src/Order.d.ts.map +1 -0
  193. package/dist/types/src/{query/query.d.ts → Query.d.ts} +53 -50
  194. package/dist/types/src/Query.d.ts.map +1 -0
  195. package/dist/types/src/Query.test.d.ts +2 -0
  196. package/dist/types/src/Query.test.d.ts.map +1 -0
  197. package/dist/types/src/QueryResult.d.ts +80 -0
  198. package/dist/types/src/QueryResult.d.ts.map +1 -0
  199. package/dist/types/src/Ref.d.ts +9 -7
  200. package/dist/types/src/Ref.d.ts.map +1 -1
  201. package/dist/types/src/Relation.d.ts +235 -18
  202. package/dist/types/src/Relation.d.ts.map +1 -1
  203. package/dist/types/src/Relation.test.d.ts +2 -0
  204. package/dist/types/src/Relation.test.d.ts.map +1 -0
  205. package/dist/types/src/SchemaRegistry.d.ts +84 -0
  206. package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
  207. package/dist/types/src/Tag.d.ts +6 -6
  208. package/dist/types/src/Tag.d.ts.map +1 -1
  209. package/dist/types/src/Type.d.ts +213 -50
  210. package/dist/types/src/Type.d.ts.map +1 -1
  211. package/dist/types/src/Type.test.d.ts +2 -0
  212. package/dist/types/src/Type.test.d.ts.map +1 -0
  213. package/dist/types/src/index.d.ts +8 -2
  214. package/dist/types/src/index.d.ts.map +1 -1
  215. package/dist/types/src/internal/annotations/annotations.d.ts +23 -27
  216. package/dist/types/src/internal/annotations/annotations.d.ts.map +1 -1
  217. package/dist/types/src/internal/annotations/util.d.ts +1 -0
  218. package/dist/types/src/internal/annotations/util.d.ts.map +1 -1
  219. package/dist/types/src/internal/api/annotations.d.ts +23 -0
  220. package/dist/types/src/internal/api/annotations.d.ts.map +1 -0
  221. package/dist/types/src/internal/api/entity.d.ts +13 -0
  222. package/dist/types/src/internal/api/entity.d.ts.map +1 -0
  223. package/dist/types/src/internal/api/index.d.ts +15 -0
  224. package/dist/types/src/internal/api/index.d.ts.map +1 -0
  225. package/dist/types/src/internal/api/meta.d.ts +42 -0
  226. package/dist/types/src/internal/api/meta.d.ts.map +1 -0
  227. package/dist/types/src/internal/api/sorting.d.ts +24 -0
  228. package/dist/types/src/internal/api/sorting.d.ts.map +1 -0
  229. package/dist/types/src/internal/api/version.d.ts +42 -0
  230. package/dist/types/src/internal/api/version.d.ts.map +1 -0
  231. package/dist/types/src/internal/entities/entity.d.ts +13 -3
  232. package/dist/types/src/internal/entities/entity.d.ts.map +1 -1
  233. package/dist/types/src/internal/entities/index.d.ts +1 -1
  234. package/dist/types/src/internal/entities/index.d.ts.map +1 -1
  235. package/dist/types/src/internal/entities/model.d.ts +14 -7
  236. package/dist/types/src/internal/entities/model.d.ts.map +1 -1
  237. package/dist/types/src/internal/entities/object.d.ts +8 -1
  238. package/dist/types/src/internal/entities/object.d.ts.map +1 -1
  239. package/dist/types/src/internal/entities/relation.d.ts +8 -1
  240. package/dist/types/src/internal/entities/relation.d.ts.map +1 -1
  241. package/dist/types/src/internal/formats/format.d.ts +4 -4
  242. package/dist/types/src/internal/formats/format.d.ts.map +1 -1
  243. package/dist/types/src/internal/formats/select.d.ts +6 -4
  244. package/dist/types/src/internal/formats/select.d.ts.map +1 -1
  245. package/dist/types/src/internal/formats/string.d.ts +4 -0
  246. package/dist/types/src/internal/formats/string.d.ts.map +1 -1
  247. package/dist/types/src/internal/formats/types.d.ts +6 -2
  248. package/dist/types/src/internal/formats/types.d.ts.map +1 -1
  249. package/dist/types/src/internal/index.d.ts +2 -1
  250. package/dist/types/src/internal/index.d.ts.map +1 -1
  251. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +1 -1
  252. package/dist/types/src/internal/json-schema/json-schema-type.d.ts +130 -29
  253. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -1
  254. package/dist/types/src/internal/json-schema/json-schema.d.ts +2 -1
  255. package/dist/types/src/internal/json-schema/json-schema.d.ts.map +1 -1
  256. package/dist/types/src/internal/object/clone.d.ts +8 -0
  257. package/dist/types/src/internal/object/clone.d.ts.map +1 -0
  258. package/dist/types/src/internal/object/create-object.d.ts +1 -1
  259. package/dist/types/src/internal/object/index.d.ts +3 -0
  260. package/dist/types/src/internal/object/index.d.ts.map +1 -1
  261. package/dist/types/src/internal/object/json-serializer.d.ts +13 -7
  262. package/dist/types/src/internal/object/json-serializer.d.ts.map +1 -1
  263. package/dist/types/src/internal/object/schema-validator.d.ts +1 -14
  264. package/dist/types/src/internal/object/schema-validator.d.ts.map +1 -1
  265. package/dist/types/src/internal/object/set-value.d.ts +7 -0
  266. package/dist/types/src/internal/object/set-value.d.ts.map +1 -0
  267. package/dist/types/src/internal/object/set-value.test.d.ts +2 -0
  268. package/dist/types/src/internal/object/set-value.test.d.ts.map +1 -0
  269. package/dist/types/src/internal/object/snapshot.d.ts +6 -0
  270. package/dist/types/src/internal/object/snapshot.d.ts.map +1 -0
  271. package/dist/types/src/internal/object/typed-object.d.ts +7 -13
  272. package/dist/types/src/internal/object/typed-object.d.ts.map +1 -1
  273. package/dist/types/src/internal/proxy/change-context.d.ts +55 -0
  274. package/dist/types/src/internal/proxy/change-context.d.ts.map +1 -0
  275. package/dist/types/src/internal/proxy/change.test.d.ts +2 -0
  276. package/dist/types/src/internal/proxy/change.test.d.ts.map +1 -0
  277. package/dist/types/src/internal/proxy/define-hidden-property.d.ts +5 -0
  278. package/dist/types/src/internal/proxy/define-hidden-property.d.ts.map +1 -0
  279. package/dist/types/src/internal/proxy/errors.d.ts +19 -0
  280. package/dist/types/src/internal/proxy/errors.d.ts.map +1 -0
  281. package/dist/types/src/internal/proxy/event-batch.d.ts +10 -0
  282. package/dist/types/src/internal/proxy/event-batch.d.ts.map +1 -0
  283. package/dist/types/src/internal/proxy/index.d.ts +11 -0
  284. package/dist/types/src/internal/proxy/index.d.ts.map +1 -1
  285. package/dist/types/src/internal/proxy/json-serializer.d.ts +6 -0
  286. package/dist/types/src/internal/proxy/json-serializer.d.ts.map +1 -0
  287. package/dist/types/src/internal/proxy/make-object.d.ts +2 -4
  288. package/dist/types/src/internal/proxy/make-object.d.ts.map +1 -1
  289. package/dist/types/src/internal/proxy/ownership.d.ts +57 -0
  290. package/dist/types/src/internal/proxy/ownership.d.ts.map +1 -0
  291. package/dist/types/src/internal/proxy/proxy-types.d.ts +18 -0
  292. package/dist/types/src/internal/proxy/proxy-types.d.ts.map +1 -0
  293. package/dist/types/src/internal/proxy/proxy-utils.d.ts +47 -0
  294. package/dist/types/src/internal/proxy/proxy-utils.d.ts.map +1 -0
  295. package/dist/types/src/internal/proxy/reactive-array.d.ts +8 -0
  296. package/dist/types/src/internal/proxy/reactive-array.d.ts.map +1 -0
  297. package/dist/types/src/internal/proxy/reactive.d.ts +39 -0
  298. package/dist/types/src/internal/proxy/reactive.d.ts.map +1 -0
  299. package/dist/types/src/internal/proxy/schema-validator.d.ts +15 -0
  300. package/dist/types/src/internal/proxy/schema-validator.d.ts.map +1 -0
  301. package/dist/types/src/internal/proxy/symbols.d.ts +3 -0
  302. package/dist/types/src/internal/proxy/symbols.d.ts.map +1 -0
  303. package/dist/types/src/internal/proxy/typed-handler.d.ts +14 -11
  304. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +1 -1
  305. package/dist/types/src/internal/ref/ref-array.d.ts +4 -4
  306. package/dist/types/src/internal/ref/ref-array.d.ts.map +1 -1
  307. package/dist/types/src/internal/ref/ref.d.ts +16 -7
  308. package/dist/types/src/internal/ref/ref.d.ts.map +1 -1
  309. package/dist/types/src/internal/schema/compose.d.ts +2 -1
  310. package/dist/types/src/internal/schema/compose.d.ts.map +1 -1
  311. package/dist/types/src/internal/schema/echo-schema.d.ts +15 -3
  312. package/dist/types/src/internal/schema/echo-schema.d.ts.map +1 -1
  313. package/dist/types/src/internal/schema/index.d.ts +0 -2
  314. package/dist/types/src/internal/schema/index.d.ts.map +1 -1
  315. package/dist/types/src/internal/schema/persistent-schema.d.ts +9 -7
  316. package/dist/types/src/internal/schema/persistent-schema.d.ts.map +1 -1
  317. package/dist/types/src/internal/types/base.d.ts +5 -16
  318. package/dist/types/src/internal/types/base.d.ts.map +1 -1
  319. package/dist/types/src/internal/types/entity.d.ts +27 -2
  320. package/dist/types/src/internal/types/entity.d.ts.map +1 -1
  321. package/dist/types/src/internal/types/meta.d.ts +6 -14
  322. package/dist/types/src/internal/types/meta.d.ts.map +1 -1
  323. package/dist/types/src/testing/test-schema.d.ts +141 -175
  324. package/dist/types/src/testing/test-schema.d.ts.map +1 -1
  325. package/dist/types/src/testing/util.d.ts +6 -1
  326. package/dist/types/src/testing/util.d.ts.map +1 -1
  327. package/dist/types/tsconfig.tsbuildinfo +1 -1
  328. package/package.json +130 -23
  329. package/src/Annotation.ts +5 -4
  330. package/src/Database.ts +229 -82
  331. package/src/Entity.test.ts +22 -0
  332. package/src/Entity.ts +173 -7
  333. package/src/{errors.ts → Err.ts} +2 -2
  334. package/src/Filter.ts +376 -0
  335. package/src/Format.ts +0 -2
  336. package/src/Hypergraph.ts +74 -0
  337. package/src/Obj.test.ts +386 -0
  338. package/src/Obj.ts +338 -250
  339. package/src/{query/order.ts → Order.ts} +19 -9
  340. package/src/{query/query.test.ts → Query.test.ts} +180 -49
  341. package/src/{query/query.ts → Query.ts} +115 -122
  342. package/src/QueryResult.ts +106 -0
  343. package/src/Ref.ts +20 -3
  344. package/src/Relation.test.ts +82 -0
  345. package/src/Relation.ts +364 -27
  346. package/src/SchemaRegistry.ts +105 -0
  347. package/src/Tag.ts +1 -1
  348. package/src/Type.test.ts +52 -0
  349. package/src/Type.ts +322 -88
  350. package/src/index.ts +9 -5
  351. package/src/internal/README.md +36 -17
  352. package/src/internal/annotations/annotations.test.ts +6 -6
  353. package/src/internal/annotations/annotations.ts +73 -76
  354. package/src/internal/annotations/util.ts +2 -0
  355. package/src/internal/api/annotations.ts +60 -0
  356. package/src/internal/api/entity.ts +29 -0
  357. package/src/internal/api/index.ts +19 -0
  358. package/src/internal/api/meta.ts +88 -0
  359. package/src/internal/api/sorting.ts +53 -0
  360. package/src/internal/api/version.ts +96 -0
  361. package/src/internal/entities/entity.ts +36 -19
  362. package/src/internal/entities/index.ts +1 -1
  363. package/src/internal/entities/model.ts +17 -12
  364. package/src/internal/entities/object.ts +21 -8
  365. package/src/internal/entities/relation.ts +23 -7
  366. package/src/internal/formats/format.test.ts +1 -1
  367. package/src/internal/formats/format.ts +7 -8
  368. package/src/internal/formats/object.ts +2 -2
  369. package/src/internal/formats/select.ts +6 -4
  370. package/src/internal/formats/string.ts +5 -0
  371. package/src/internal/formats/types.ts +9 -3
  372. package/src/internal/index.ts +2 -1
  373. package/src/internal/json-schema/json-schema-normalize.ts +4 -2
  374. package/src/internal/json-schema/json-schema-type.ts +31 -32
  375. package/src/internal/json-schema/json-schema.test.ts +19 -17
  376. package/src/internal/json-schema/json-schema.ts +14 -10
  377. package/src/internal/object/clone.ts +48 -0
  378. package/src/internal/object/create-object.ts +2 -2
  379. package/src/internal/object/index.ts +3 -0
  380. package/src/internal/object/inspect.ts +3 -3
  381. package/src/internal/object/json-serializer.test.ts +6 -2
  382. package/src/internal/object/json-serializer.ts +28 -70
  383. package/src/internal/object/schema-validator.test.ts +3 -7
  384. package/src/internal/object/schema-validator.ts +2 -238
  385. package/src/internal/object/set-value.test.ts +281 -0
  386. package/src/internal/object/set-value.ts +165 -0
  387. package/src/internal/object/snapshot.ts +70 -0
  388. package/src/internal/object/typed-object.test.ts +11 -11
  389. package/src/internal/object/typed-object.ts +8 -72
  390. package/src/internal/proxy/change-context.ts +138 -0
  391. package/src/internal/proxy/change.test.ts +519 -0
  392. package/src/internal/proxy/define-hidden-property.ts +14 -0
  393. package/src/internal/proxy/errors.ts +42 -0
  394. package/src/internal/proxy/event-batch.ts +44 -0
  395. package/src/internal/proxy/handler.test.ts +30 -80
  396. package/src/internal/proxy/index.ts +11 -0
  397. package/src/internal/proxy/json-serializer.ts +87 -0
  398. package/src/internal/proxy/make-object.ts +33 -50
  399. package/src/internal/proxy/ownership.ts +253 -0
  400. package/src/internal/proxy/proxy-types.ts +23 -0
  401. package/src/internal/proxy/proxy-utils.ts +150 -0
  402. package/src/internal/proxy/reactive-array.ts +71 -0
  403. package/src/internal/proxy/reactive.ts +69 -0
  404. package/src/internal/proxy/schema-validator.ts +244 -0
  405. package/src/internal/proxy/schema.test.ts +23 -15
  406. package/src/internal/proxy/symbols.ts +7 -0
  407. package/src/internal/proxy/typed-handler.test.ts +247 -35
  408. package/src/internal/proxy/typed-handler.ts +265 -56
  409. package/src/internal/proxy/typed-object.test.ts +37 -26
  410. package/src/internal/ref/ref-array.ts +4 -4
  411. package/src/internal/ref/ref.test.ts +1 -1
  412. package/src/internal/ref/ref.ts +64 -40
  413. package/src/internal/schema/compose.test.ts +3 -3
  414. package/src/internal/schema/compose.ts +13 -9
  415. package/src/internal/schema/echo-schema.ts +49 -11
  416. package/src/internal/schema/index.ts +0 -2
  417. package/src/internal/schema/persistent-schema.ts +3 -4
  418. package/src/internal/types/base.ts +6 -21
  419. package/src/internal/types/entity.ts +35 -4
  420. package/src/internal/types/meta.ts +13 -24
  421. package/src/testing/api.test.ts +31 -5
  422. package/src/testing/test-schema.ts +55 -30
  423. package/src/testing/util.ts +22 -15
  424. package/dist/lib/browser/chunk-7GH6RXJ3.mjs.map +0 -7
  425. package/dist/lib/browser/chunk-E4UTVJNF.mjs +0 -1111
  426. package/dist/lib/browser/chunk-E4UTVJNF.mjs.map +0 -7
  427. package/dist/lib/node-esm/chunk-JE5RXM2I.mjs +0 -1111
  428. package/dist/lib/node-esm/chunk-JE5RXM2I.mjs.map +0 -7
  429. package/dist/lib/node-esm/chunk-M4B6BMD2.mjs.map +0 -7
  430. package/dist/types/src/errors.d.ts.map +0 -1
  431. package/dist/types/src/internal/entities/expando.d.ts +0 -16
  432. package/dist/types/src/internal/entities/expando.d.ts.map +0 -1
  433. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +0 -18
  434. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +0 -1
  435. package/dist/types/src/internal/schema/snapshot.d.ts +0 -6
  436. package/dist/types/src/internal/schema/snapshot.d.ts.map +0 -1
  437. package/dist/types/src/query/filter.d.ts +0 -167
  438. package/dist/types/src/query/filter.d.ts.map +0 -1
  439. package/dist/types/src/query/index.d.ts +0 -5
  440. package/dist/types/src/query/index.d.ts.map +0 -1
  441. package/dist/types/src/query/order.d.ts +0 -12
  442. package/dist/types/src/query/order.d.ts.map +0 -1
  443. package/dist/types/src/query/query.d.ts.map +0 -1
  444. package/dist/types/src/query/query.test.d.ts +0 -2
  445. package/dist/types/src/query/query.test.d.ts.map +0 -1
  446. package/dist/types/src/query/testing.d.ts +0 -51
  447. package/dist/types/src/query/testing.d.ts.map +0 -1
  448. package/dist/types/src/query/types.d.ts +0 -17
  449. package/dist/types/src/query/types.d.ts.map +0 -1
  450. package/dist/types/src/query/util.d.ts +0 -8
  451. package/dist/types/src/query/util.d.ts.map +0 -1
  452. package/src/internal/entities/expando.ts +0 -23
  453. package/src/internal/schema/runtime-schema-registry.ts +0 -78
  454. package/src/internal/schema/snapshot.ts +0 -25
  455. package/src/query/filter.ts +0 -455
  456. package/src/query/index.ts +0 -9
  457. package/src/query/testing.ts +0 -64
  458. package/src/query/types.ts +0 -23
  459. package/src/query/util.ts +0 -25
@@ -1,9 +1,10 @@
1
1
  import * as Schema from 'effect/Schema';
2
2
  import { JsonPath, type JsonProp } from '@dxos/effect';
3
+ import { type Mutable } from '../proxy';
3
4
  /**
4
5
  * Go under the `annotations` property.
5
6
  */
6
- export declare const JsonSchemaEchoAnnotations: Schema.mutable<Schema.Struct<{
7
+ export declare const JsonSchemaEchoAnnotations: Schema.Struct<{
7
8
  /**
8
9
  * Label for this schema.
9
10
  * Mapped from {@link LabelAnnotationId}.
@@ -17,20 +18,20 @@ export declare const JsonSchemaEchoAnnotations: Schema.mutable<Schema.Struct<{
17
18
  /**
18
19
  * {@link PropertyMeta} annotations get serialized here.
19
20
  */
20
- meta: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Any>>>;
21
+ meta: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
21
22
  /**
22
23
  * @deprecated
23
24
  */
24
- type: Schema.optional<Schema.mutable<Schema.Struct<{
25
+ type: Schema.optional<Schema.Struct<{
25
26
  typename: typeof Schema.String;
26
27
  version: typeof Schema.String;
27
28
  schemaId: Schema.optional<typeof Schema.String>;
28
- }>>>;
29
+ }>>;
29
30
  /**
30
31
  * @deprecated Superseded by `meta`.
31
32
  */
32
- annotations: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Any>>>;
33
- }>>;
33
+ annotations: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
34
+ }>;
34
35
  export type JsonSchemaEchoAnnotations = Schema.Schema.Type<typeof JsonSchemaEchoAnnotations>;
35
36
  /**
36
37
  * Describes a schema for the JSON-schema objects stored in ECHO.
@@ -143,7 +144,7 @@ declare const _JsonSchemaType: Schema.Struct<{
143
144
  contains: Schema.optional<Schema.suspend<JsonSchemaType, JsonSchemaType, never>>;
144
145
  maxProperties: Schema.optional<Schema.filter<typeof Schema.Number>>;
145
146
  minProperties: Schema.optional<Schema.filter<typeof Schema.Number>>;
146
- required: Schema.optional<Schema.mutable<Schema.Array$<typeof Schema.String>>>;
147
+ required: Schema.optional<Schema.Array$<typeof Schema.String>>;
147
148
  /**
148
149
  * Non-standard JSON Schema extension.
149
150
  * Defines the order of properties in the object.
@@ -151,13 +152,13 @@ declare const _JsonSchemaType: Schema.Struct<{
151
152
  *
152
153
  * Related: https://github.com/json-schema/json-schema/issues/119
153
154
  */
154
- propertyOrder: Schema.optional<Schema.mutable<Schema.Array$<typeof Schema.String>>>;
155
+ propertyOrder: Schema.optional<Schema.Array$<typeof Schema.String>>;
155
156
  additionalProperties: Schema.optional<Schema.Union<[Schema.suspend<JsonSchemaType, JsonSchemaType, never>, typeof Schema.Boolean]>>;
156
- properties: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.suspend<JsonSchemaType, JsonSchemaType, never>>>>;
157
- patternProperties: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.suspend<JsonSchemaType, JsonSchemaType, never>>>>;
157
+ properties: Schema.optional<Schema.Record$<typeof Schema.String, Schema.suspend<JsonSchemaType, JsonSchemaType, never>>>;
158
+ patternProperties: Schema.optional<Schema.Record$<typeof Schema.String, Schema.suspend<JsonSchemaType, JsonSchemaType, never>>>;
158
159
  propertyNames: Schema.optional<Schema.suspend<JsonSchemaType, JsonSchemaType, never>>;
159
- definitions: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.suspend<JsonSchemaType, JsonSchemaType, never>>>>;
160
- dependencies: Schema.optional<Schema.Record$<typeof Schema.String, Schema.suspend<string | string[] | JsonSchemaType, string | string[] | JsonSchemaType, never>>>;
160
+ definitions: Schema.optional<Schema.Record$<typeof Schema.String, Schema.suspend<JsonSchemaType, JsonSchemaType, never>>>;
161
+ dependencies: Schema.optional<Schema.Record$<typeof Schema.String, Schema.suspend<string | readonly string[] | JsonSchemaType, string | readonly string[] | JsonSchemaType, never>>>;
161
162
  contentMediaType: Schema.optional<typeof Schema.String>;
162
163
  contentEncoding: Schema.optional<typeof Schema.String>;
163
164
  if: Schema.optional<Schema.suspend<JsonSchemaType, JsonSchemaType, never>>;
@@ -167,17 +168,17 @@ declare const _JsonSchemaType: Schema.Struct<{
167
168
  anyOf: Schema.optional<Schema.Array$<Schema.suspend<JsonSchemaType, JsonSchemaType, never>>>;
168
169
  oneOf: Schema.optional<Schema.Array$<Schema.suspend<JsonSchemaType, JsonSchemaType, never>>>;
169
170
  not: Schema.optional<Schema.suspend<JsonSchemaType, JsonSchemaType, never>>;
170
- $defs: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.suspend<JsonSchemaType, JsonSchemaType, never>>>>;
171
+ $defs: Schema.optional<Schema.Record$<typeof Schema.String, Schema.suspend<JsonSchemaType, JsonSchemaType, never>>>;
171
172
  currency: Schema.optional<typeof Schema.String>;
172
- reference: Schema.optional<Schema.mutable<Schema.Struct<{
173
+ reference: Schema.optional<Schema.Struct<{
173
174
  schema: Schema.suspend<JsonSchemaType, JsonSchemaType, never>;
174
175
  schemaVersion: Schema.optional<typeof Schema.String>;
175
176
  schemaObject: Schema.optional<typeof Schema.String>;
176
- }>>>;
177
+ }>>;
177
178
  /**
178
179
  * ECHO-specific annotations.
179
180
  */
180
- annotations: Schema.optional<Schema.mutable<Schema.mutable<Schema.Struct<{
181
+ annotations: Schema.optional<Schema.Struct<{
181
182
  /**
182
183
  * Label for this schema.
183
184
  * Mapped from {@link LabelAnnotationId}.
@@ -191,24 +192,24 @@ declare const _JsonSchemaType: Schema.Struct<{
191
192
  /**
192
193
  * {@link PropertyMeta} annotations get serialized here.
193
194
  */
194
- meta: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Any>>>;
195
+ meta: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
195
196
  /**
196
197
  * @deprecated
197
198
  */
198
- type: Schema.optional<Schema.mutable<Schema.Struct<{
199
+ type: Schema.optional<Schema.Struct<{
199
200
  typename: typeof Schema.String;
200
201
  version: typeof Schema.String;
201
202
  schemaId: Schema.optional<typeof Schema.String>;
202
- }>>>;
203
+ }>>;
203
204
  /**
204
205
  * @deprecated Superseded by `meta`.
205
206
  */
206
- annotations: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Any>>>;
207
- }>>>>;
207
+ annotations: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
208
+ }>>;
208
209
  /**
209
210
  * @deprecated Use `annotations` instead.
210
211
  */
211
- echo: Schema.optional<Schema.mutable<Schema.mutable<Schema.Struct<{
212
+ echo: Schema.optional<Schema.Struct<{
212
213
  /**
213
214
  * Label for this schema.
214
215
  * Mapped from {@link LabelAnnotationId}.
@@ -222,29 +223,129 @@ declare const _JsonSchemaType: Schema.Struct<{
222
223
  /**
223
224
  * {@link PropertyMeta} annotations get serialized here.
224
225
  */
225
- meta: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Any>>>;
226
+ meta: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
226
227
  /**
227
228
  * @deprecated
228
229
  */
229
- type: Schema.optional<Schema.mutable<Schema.Struct<{
230
+ type: Schema.optional<Schema.Struct<{
230
231
  typename: typeof Schema.String;
231
232
  version: typeof Schema.String;
232
233
  schemaId: Schema.optional<typeof Schema.String>;
233
- }>>>;
234
+ }>>;
234
235
  /**
235
236
  * @deprecated Superseded by `meta`.
236
237
  */
237
- annotations: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Any>>>;
238
- }>>>>;
238
+ annotations: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
239
+ }>>;
239
240
  }>;
240
241
  export declare const JsonSchemaFields: string[];
241
242
  /**
242
243
  * https://json-schema.org/draft-07/schema
243
244
  */
244
- export interface JsonSchemaType extends Schema.Schema.Type<Schema.mutable<typeof _JsonSchemaType>> {
245
+ export interface JsonSchemaType extends Schema.Schema.Type<typeof _JsonSchemaType> {
245
246
  }
246
247
  export declare const JsonSchemaType: Schema.Schema<JsonSchemaType>;
247
248
  export declare const getSchemaProperty: (schema: JsonSchemaType, property: JsonProp) => JsonSchemaType | undefined;
248
- export declare const setSchemaProperty: (schema: JsonSchemaType, property: JsonProp, value: JsonSchemaType) => JsonSchemaType;
249
+ export declare const setSchemaProperty: (schema: Mutable<JsonSchemaType>, property: JsonProp, value: Mutable<JsonSchemaType>) => {
250
+ relationSource?: /*elided*/ any | undefined;
251
+ relationTarget?: /*elided*/ any | undefined;
252
+ description?: string | undefined;
253
+ typename?: string | undefined;
254
+ version?: string | undefined;
255
+ then?: /*elided*/ any | undefined;
256
+ annotations?: {
257
+ annotations?: {
258
+ [x: string]: any;
259
+ } | undefined;
260
+ type?: {
261
+ typename: string;
262
+ version: string;
263
+ schemaId?: string | undefined;
264
+ } | undefined;
265
+ labelProp?: JsonPath | JsonPath[] | undefined;
266
+ generator?: string | (string | number)[] | undefined;
267
+ meta?: {
268
+ [x: string]: any;
269
+ } | undefined;
270
+ } | undefined;
271
+ currency?: string | undefined;
272
+ $id?: string | undefined;
273
+ $schema?: string | undefined;
274
+ $ref?: string | undefined;
275
+ $comment?: string | undefined;
276
+ entityKind?: import("..").EntityKind | undefined;
277
+ title?: string | undefined;
278
+ readOnly?: boolean | undefined;
279
+ writeOnly?: boolean | undefined;
280
+ examples?: any[] | undefined;
281
+ default?: any;
282
+ const?: any;
283
+ enum?: any[] | undefined;
284
+ type?: "string" | "number" | "boolean" | "object" | "array" | "integer" | "null" | ("string" | "number" | "boolean" | "object" | "array" | "integer" | "null")[] | undefined;
285
+ multipleOf?: number | undefined;
286
+ maximum?: number | undefined;
287
+ exclusiveMaximum?: number | undefined;
288
+ minimum?: number | undefined;
289
+ exclusiveMinimum?: number | undefined;
290
+ maxLength?: number | undefined;
291
+ pattern?: string | undefined;
292
+ format?: string | undefined;
293
+ minLength?: number | undefined;
294
+ items?: /*elided*/ any | /*elided*/ any[] | undefined;
295
+ additionalItems?: boolean | /*elided*/ any | undefined;
296
+ maxItems?: number | undefined;
297
+ minItems?: number | undefined;
298
+ uniqueItems?: boolean | undefined;
299
+ contains?: /*elided*/ any | undefined;
300
+ maxProperties?: number | undefined;
301
+ minProperties?: number | undefined;
302
+ required?: string[] | undefined;
303
+ propertyOrder?: string[] | undefined;
304
+ additionalProperties?: boolean | /*elided*/ any | undefined;
305
+ properties?: {
306
+ [x: string]: /*elided*/ any;
307
+ } | undefined;
308
+ patternProperties?: {
309
+ [x: string]: /*elided*/ any;
310
+ } | undefined;
311
+ propertyNames?: /*elided*/ any | undefined;
312
+ definitions?: {
313
+ [x: string]: /*elided*/ any;
314
+ } | undefined;
315
+ dependencies?: {
316
+ [x: string]: string | /*elided*/ any | string[];
317
+ } | undefined;
318
+ contentMediaType?: string | undefined;
319
+ contentEncoding?: string | undefined;
320
+ if?: /*elided*/ any | undefined;
321
+ else?: /*elided*/ any | undefined;
322
+ allOf?: /*elided*/ any[] | undefined;
323
+ anyOf?: /*elided*/ any[] | undefined;
324
+ oneOf?: /*elided*/ any[] | undefined;
325
+ not?: /*elided*/ any | undefined;
326
+ $defs?: {
327
+ [x: string]: /*elided*/ any;
328
+ } | undefined;
329
+ reference?: {
330
+ schema: /*elided*/ any;
331
+ schemaVersion?: string | undefined;
332
+ schemaObject?: string | undefined;
333
+ } | undefined;
334
+ echo?: {
335
+ annotations?: {
336
+ [x: string]: any;
337
+ } | undefined;
338
+ type?: {
339
+ typename: string;
340
+ version: string;
341
+ schemaId?: string | undefined;
342
+ } | undefined;
343
+ labelProp?: JsonPath | JsonPath[] | undefined;
344
+ generator?: string | (string | number)[] | undefined;
345
+ meta?: {
346
+ [x: string]: any;
347
+ } | undefined;
348
+ } | undefined;
349
+ };
249
350
  export {};
250
351
  //# sourceMappingURL=json-schema-type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-type.d.ts","sourceRoot":"","sources":["../../../../../src/internal/json-schema/json-schema-type.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAqBvD;;GAEG;AACH,eAAO,MAAM,yBAAyB;IACpC;;;OAGG;;IAGH;;;OAGG;;IAGH;;OAEG;;IAQH;;OAEG;;;;;;IAYH;;OAEG;;GAOkB,CAAC;AACxB,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE7F;;;;GAIG;AAGH,QAAA,MAAM,eAAe;IACnB;;;OAGG;;IAKH;;;OAGG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;;OAKG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;IAmBH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;IAiCH;;;;;;OAMG;;;;;;;;;;;;;;;;;;;;;;;;IAuEH;;OAEG;;QArSH;;;WAGG;;QAGH;;;WAGG;;QAGH;;WAEG;;QAQH;;WAEG;;;;;;QAYH;;WAEG;;;IAmQH;;OAEG;;QA3SH;;;WAGG;;QAGH;;;WAGG;;QAGH;;WAEG;;QAQH;;WAEG;;;;;;QAYH;;WAEG;;;EAuQmE,CAAC;AAEzE,eAAO,MAAM,gBAAgB,UAAsC,CAAC;AAEpE;;GAEG;AAEH,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,eAAe,CAAC,CAAC;CAAG;AAErG,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAwC,CAAC;AAIlG,eAAO,MAAM,iBAAiB,GAAI,QAAQ,cAAc,EAAE,UAAU,QAAQ,KAAG,cAAc,GAAG,SAE/F,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,cAAc,EAAE,UAAU,QAAQ,EAAE,OAAO,cAAc,mBAIlG,CAAC"}
1
+ {"version":3,"file":"json-schema-type.d.ts","sourceRoot":"","sources":["../../../../../src/internal/json-schema/json-schema-type.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGvD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAmBxC;;GAEG;AACH,eAAO,MAAM,yBAAyB;IACpC;;;OAGG;;IAGH;;;OAGG;;IAGH;;OAEG;;IAQH;;OAEG;;;;;;IAYH;;OAEG;;EAOH,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE7F;;;;GAIG;AAGH,QAAA,MAAM,eAAe;IACnB;;;OAGG;;IAKH;;;OAGG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;;OAKG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;IAmBH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;IAiCH;;;;;;OAMG;;;;;;;;;;;;;;;;;;;;;;;;IAiEH;;OAEG;;QA/RH;;;WAGG;;QAGH;;;WAGG;;QAGH;;WAEG;;QAQH;;WAEG;;;;;;QAYH;;WAEG;;;IA6PH;;OAEG;;QArSH;;;WAGG;;QAGH;;;WAGG;;QAGH;;WAEG;;QAQH;;WAEG;;;;;;QAYH;;WAEG;;;EAiQmE,CAAC;AAEzE,eAAO,MAAM,gBAAgB,UAAsC,CAAC;AAEpE;;GAEG;AAEH,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,eAAe,CAAC;CAAG;AAErF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAmB,CAAC;AAI7E,eAAO,MAAM,iBAAiB,GAAI,QAAQ,cAAc,EAAE,UAAU,QAAQ,KAAG,cAAc,GAAG,SAE/F,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,OAAO,CAAC,cAAc,CAAC,EAC/B,UAAU,QAAQ,EAClB,OAAO,OAAO,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK/B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import * as Schema from 'effect/Schema';
2
+ import type * as Types from 'effect/Types';
2
3
  import { type JsonSchemaType } from './json-schema-type';
3
4
  export declare enum PropType {
4
5
  NONE = 0,
@@ -19,7 +20,7 @@ export type JsonSchemaOptions = {
19
20
  * NOTE: This handles custom annotations.
20
21
  * @param schema
21
22
  */
22
- export declare const toJsonSchema: (schema: Schema.Schema.All, options?: JsonSchemaOptions) => JsonSchemaType;
23
+ export declare const toJsonSchema: (schema: Schema.Schema.All, options?: JsonSchemaOptions) => Types.DeepMutable<JsonSchemaType>;
23
24
  /**
24
25
  * Convert JSON schema to effect schema.
25
26
  * @param root
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/json-schema/json-schema.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAsBxC,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,oBAAoB,CAAC;AAG5B,oBAAY,QAAQ;IAClB,IAAI,IAAI;IACR,MAAM,IAAI,CAAE,yBAAyB;IACrC,MAAM,IAAI;IACV,OAAO,IAAI;IACX,IAAI,IAAI;IACR,GAAG,IAAI;IACP,MAAM,IAAI;IACV,IAAI,IAAI;CACT;AAGD,eAAO,MAAM,UAAU,GAAI,OAAO,QAAQ,KAAG,MAiB5C,CAAC;AAIF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AAGH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAS,iBAAsB,KAAG,cAqBzF,CAAC;AAkEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,cAAc,EAAE,QAAQ,cAAc,CAAC,OAAO,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,YA0GpG,CAAC"}
1
+ {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/json-schema/json-schema.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAmB3C,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,oBAAoB,CAAC;AAG5B,oBAAY,QAAQ;IAClB,IAAI,IAAI;IACR,MAAM,IAAI,CAAE,yBAAyB;IACrC,MAAM,IAAI;IACV,OAAO,IAAI;IACX,IAAI,IAAI;IACR,GAAG,IAAI;IACP,MAAM,IAAI;IACV,IAAI,IAAI;CACT;AAGD,eAAO,MAAM,UAAU,GAAI,OAAO,QAAQ,KAAG,MAiB5C,CAAC;AAIF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AAIH,eAAO,MAAM,YAAY,GACvB,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,EACzB,UAAS,iBAAsB,KAC9B,KAAK,CAAC,WAAW,CAAC,cAAc,CAqBlC,CAAC;AAkEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,cAAc,EAAE,QAAQ,cAAc,CAAC,OAAO,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,YA0GpG,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type * as Obj from '../../Obj';
2
+ /**
3
+ * Clones an object or relation.
4
+ * This does not clone referenced objects, only the properties in the object.
5
+ * @returns A new object with the same schema and properties.
6
+ */
7
+ export declare const clone: <T extends Obj.Any>(obj: T, opts?: Obj.CloneOptions) => T;
8
+ //# sourceMappingURL=clone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/clone.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAKtC;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,YAAY,KAAG,CA8B1E,CAAC"}
@@ -21,7 +21,7 @@ export type CreateObjectProps<T> = T extends {
21
21
  * const Contact = Schema.Struct({
22
22
  * name: Schema.String,
23
23
  * email: Schema.String,
24
- * }).pipe(Type.Obj({
24
+ * }).pipe(Type.object({
25
25
  * typename: 'example.com/type/Person',
26
26
  * version: '0.1.0',
27
27
  * }))
@@ -4,5 +4,8 @@ export * from './deleted';
4
4
  export * from './ids';
5
5
  export * from './json-serializer';
6
6
  export * from './schema-validator';
7
+ export * from './set-value';
8
+ export * from './snapshot';
7
9
  export * from './typed-object';
10
+ export * from './clone';
8
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
@@ -1,8 +1,11 @@
1
- import { type EncodedReference } from '@dxos/echo-protocol';
1
+ import { type EncodedReference, ObjectStructure } from '@dxos/echo-protocol';
2
2
  import { DXN } from '@dxos/keys';
3
+ import type * as Obj from '../../Obj';
3
4
  import { type ObjectJSON } from '../entities';
5
+ import { attachTypedJsonSerializer } from '../proxy';
4
6
  import { Ref, type RefResolver } from '../ref';
5
- import { type AnyEchoObject } from '../types';
7
+ import { type AnyEntity } from '../types';
8
+ export { attachTypedJsonSerializer };
6
9
  type DeepReplaceRef<T> = T extends Ref<any> ? EncodedReference : T extends object ? {
7
10
  [K in keyof T]: DeepReplaceRef<T[K]>;
8
11
  } : T;
@@ -14,7 +17,7 @@ type SerializedObject<T extends {
14
17
  /**
15
18
  * Converts object to it's JSON representation.
16
19
  */
17
- export declare const objectToJSON: <T extends AnyEchoObject>(obj: T) => SerializedObject<T>;
20
+ export declare const objectToJSON: <T extends AnyEntity>(obj: T) => SerializedObject<T>;
18
21
  /**
19
22
  * Creates an object from it's json representation.
20
23
  * Performs schema validation.
@@ -24,8 +27,11 @@ export declare const objectToJSON: <T extends AnyEchoObject>(obj: T) => Serializ
24
27
  export declare const objectFromJSON: (jsonData: unknown, { refResolver, dxn }?: {
25
28
  refResolver?: RefResolver;
26
29
  dxn?: DXN;
27
- }) => Promise<AnyEchoObject>;
28
- export declare const setRefResolverOnData: (obj: AnyEchoObject, refResolver: RefResolver) => void;
29
- export declare const attachTypedJsonSerializer: (obj: any) => void;
30
- export {};
30
+ }) => Promise<AnyEntity>;
31
+ export declare const setRefResolverOnData: (obj: AnyEntity, refResolver: RefResolver) => void;
32
+ /**
33
+ * Convert ObjectStructure to JSON data for indexing.
34
+ * Different from {@link objectToJSON} as it takes the internal {@link ObjectStructure} representation directly
35
+ */
36
+ export declare const objectStructureToJson: (objectId: string, structure: ObjectStructure) => Obj.JSON;
31
37
  //# sourceMappingURL=json-serializer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-serializer.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/json-serializer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,gBAAgB,EAAuC,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EAAE,GAAG,EAAY,MAAM,YAAY,CAAC;AAK3C,OAAO,EAKL,KAAK,UAAU,EAOhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,GAAG,EAAE,KAAK,WAAW,EAA2C,MAAM,QAAQ,CAAC;AACxF,OAAO,EAGL,KAAK,aAAa,EAOnB,MAAM,UAAU,CAAC;AAElB,KAAK,cAAc,CAAC,CAAC,IACnB,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,GACd,gBAAgB,GAChB,CAAC,SAAS,MAAM,GACd;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,GACD,CAAC,CAAC;AAEV,KAAK,gBAAgB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,IAAI;KAC/C,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,GAAG,UAAU,CAAC;AAEf;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,aAAa,EAAE,KAAK,CAAC,KAAG,gBAAgB,CAAC,CAAC,CAIhF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,OAAO,EACjB,uBAAsB;IAAE,WAAW,CAAC,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAA;CAAO,KAClE,OAAO,CAAC,aAAa,CA8DvB,CAAC;AAsBF,eAAO,MAAM,oBAAoB,GAAI,KAAK,aAAa,EAAE,aAAa,WAAW,SAUhF,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,KAAK,GAAG,SAajD,CAAC"}
1
+ {"version":3,"file":"json-serializer.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/json-serializer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,gBAAgB,EAAE,eAAe,EAAsB,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EAAE,GAAG,EAAY,MAAM,YAAY,CAAC;AAG3C,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAEtC,OAAO,EAKL,KAAK,UAAU,EAOhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,yBAAyB,EAA6C,MAAM,UAAU,CAAC;AAChG,OAAO,EAAE,GAAG,EAAE,KAAK,WAAW,EAA2C,MAAM,QAAQ,CAAC;AACxF,OAAO,EAGL,KAAK,SAAS,EAMf,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAErC,KAAK,cAAc,CAAC,CAAC,IACnB,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,GACd,gBAAgB,GAChB,CAAC,SAAS,MAAM,GACd;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,GACD,CAAC,CAAC;AAEV,KAAK,gBAAgB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,IAAI;KAC/C,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,GAAG,UAAU,CAAC;AAEf;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,SAAS,EAAE,KAAK,CAAC,KAAG,gBAAgB,CAAC,CAAC,CAI5E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,OAAO,EACjB,uBAAsB;IAAE,WAAW,CAAC,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAA;CAAO,KAClE,OAAO,CAAC,SAAS,CAkEnB,CAAC;AAsBF,eAAO,MAAM,oBAAoB,GAAI,KAAK,SAAS,EAAE,aAAa,WAAW,SAU5E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,EAAE,WAAW,eAAe,KAAG,GAAG,CAAC,IASxF,CAAC"}
@@ -1,15 +1,2 @@
1
- import * as Schema from 'effect/Schema';
2
- export declare class SchemaValidator {
3
- /**
4
- * Recursively check that schema specifies constructions we can handle.
5
- * Validates there are no ambiguous discriminated union types.
6
- */
7
- static validateSchema(schema: Schema.Schema.AnyNoContext): void;
8
- static hasTypeAnnotation(rootObjectSchema: Schema.Schema.AnyNoContext, property: string, annotation: symbol): boolean;
9
- static getPropertySchema(rootObjectSchema: Schema.Schema.AnyNoContext, propertyPath: KeyPath, getProperty?: (path: KeyPath) => any): Schema.Schema.AnyNoContext;
10
- static getTargetPropertySchema(target: any, prop: string | symbol): Schema.Schema.AnyNoContext;
11
- }
12
- export declare const checkIdNotPresentOnSchema: (schema: Schema.Schema<any, any, any>) => void;
13
- type KeyPath = readonly (string | number)[];
14
- export {};
1
+ export { SchemaValidator, checkIdNotPresentOnSchema } from '../proxy';
15
2
  //# sourceMappingURL=schema-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/schema-validator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AASxC,qBAAa,eAAe;IAC1B;;;OAGG;WACW,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI;WAkBxD,iBAAiB,CAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO;WAaI,iBAAiB,CAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5C,YAAY,EAAE,OAAO,EACrB,WAAW,GAAE,CAAC,IAAI,EAAE,OAAO,KAAK,GAAgB,GAC/C,MAAM,CAAC,MAAM,CAAC,YAAY;WAsBf,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY;CAgBtG;AAyID,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,SAM7E,CAAC;AAGF,KAAK,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/schema-validator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type Mutable } from '../proxy';
2
+ /**
3
+ * Set a deeply nested property on an object.
4
+ * Must be called within an Obj.change or Relation.change callback.
5
+ */
6
+ export declare const setValue: (obj: Mutable<any>, path: readonly (string | number)[], value: any) => void;
7
+ //# sourceMappingURL=set-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-value.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/set-value.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,KAAG,IAqC5F,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=set-value.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-value.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/set-value.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Returns an immutable snapshot of the reactive object.
3
+ * The snapshot is branded with SnapshotKindId (not KindId).
4
+ */
5
+ export declare const getSnapshot: <T extends object>(obj: T) => T;
6
+ //# sourceMappingURL=snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/snapshot.ts"],"names":[],"mappings":"AAyBA;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,KAAG,CAwCtD,CAAC"}
@@ -1,31 +1,25 @@
1
- import * as Schema from 'effect/Schema';
1
+ import type * as Schema from 'effect/Schema';
2
2
  import { type TypeMeta } from '../annotations';
3
- import { type HasId } from '../types';
4
- import { type TypedObjectFields, type TypedObjectOptions } from './common';
3
+ import { type AnyEntity } from '../types';
5
4
  /**
6
5
  * Definition for an object type that can be stored in an ECHO database.
7
6
  * Implements effect schema to define object properties.
8
7
  * Has a typename and version.
9
8
  *
10
9
  * In contrast to {@link EchoSchema} this definition is not recorded in the database.
10
+ *
11
+ * @deprecated Use `Type.Obj.Any` from `@dxos/echo` instead.
11
12
  */
12
13
  export interface TypedObject<A = any, I = any> extends TypeMeta, Schema.Schema<A, I> {
13
14
  }
14
15
  /**
15
16
  * Typed object that could be used as a prototype in class definitions.
16
17
  * This is an internal API type.
17
- * Use {@link TypedObject} for the common use-cases.
18
+ *
19
+ * @deprecated Use `Type.Obj.Any` from `@dxos/echo` instead.
18
20
  */
19
21
  export interface TypedObjectPrototype<A = any, I = any> extends TypedObject<A, I> {
20
22
  /** Type constructor. */
21
- new (): HasId & A;
23
+ new (): AnyEntity & A;
22
24
  }
23
- export type TypedObjectProps = TypeMeta & {
24
- disableValidation?: boolean;
25
- };
26
- /**
27
- * Base class factory for typed objects.
28
- * @deprecated Use Function.pipe(Type.Obj) instead.
29
- */
30
- export declare const TypedObject: ({ typename: typenameParam, version: versionParam, disableValidation, }: TypedObjectProps) => <SchemaFields extends Schema.Struct.Fields, Options extends TypedObjectOptions>(fields: SchemaFields, options?: Options) => TypedObjectPrototype<TypedObjectFields<SchemaFields, Options>, Schema.Struct.Encoded<SchemaFields>>;
31
25
  //# sourceMappingURL=typed-object.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typed-object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/typed-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,EAGL,KAAK,QAAQ,EAId,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAwB,MAAM,UAAU,CAAC;AAEjG;;;;;;GAMG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG;AAEvF;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/E,wBAAwB;IACxB,QAAQ,KAAK,GAAG,CAAC,CAAC;CACnB;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IAExC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,wEAIzB,gBAAgB,MAOT,YAAY,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,SAAS,kBAAkB,EACnF,QAAQ,YAAY,EACpB,UAAU,OAAO,KAChB,oBAAoB,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CA8BtG,CAAC"}
1
+ {"version":3,"file":"typed-object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/typed-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG;AAEvF;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/E,wBAAwB;IACxB,QAAQ,SAAS,GAAG,CAAC,CAAC;CACvB"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Enter a change context for the given key.
3
+ * While in a change context, mutations are allowed on the associated object.
4
+ * Nested Obj.change calls are not supported.
5
+ *
6
+ * @param key - The key to enter the change context for (target object or ObjectCore).
7
+ * @returns A cleanup function that exits the change context.
8
+ */
9
+ export declare const enterChangeContext: (key: object) => (() => void);
10
+ /**
11
+ * Check if the given key is currently in a change context.
12
+ *
13
+ * @param key - The key to check (target object or ObjectCore).
14
+ * @returns True if the key is in a change context, false otherwise.
15
+ */
16
+ export declare const isInChangeContext: (key: object) => boolean;
17
+ /**
18
+ * Queue a notification for the given key to be fired when the change context exits.
19
+ *
20
+ * @param key - The key to queue a notification for.
21
+ */
22
+ export declare const queueNotification: (key: object) => void;
23
+ /**
24
+ * Queue an owner notification. Owner notifications are for objects in the ownership
25
+ * chain that should be notified when a nested object changes.
26
+ * These objects have EventId and emit directly.
27
+ * Skip if the target is already the current change context (to avoid duplicate notifications).
28
+ *
29
+ * @param target - The owner target that has EventId.
30
+ */
31
+ export declare const queueOwnerNotification: (target: object) => void;
32
+ /**
33
+ * Check if there are any pending notifications for the given key.
34
+ *
35
+ * @param key - The key to check.
36
+ * @returns True if there are pending notifications, false otherwise.
37
+ */
38
+ export declare const hasPendingNotifications: (key: object) => boolean;
39
+ /**
40
+ * Clear any pending notifications for the given key.
41
+ *
42
+ * @param key - The key to clear notifications for.
43
+ */
44
+ export declare const clearPendingNotifications: (key: object) => void;
45
+ /**
46
+ * Execute a callback within a change context.
47
+ * This is the shared implementation used by both TypedReactiveHandler and EchoReactiveHandler.
48
+ *
49
+ * @param contextKey - The key for the change context (target for typed, ObjectCore for db).
50
+ * @param eventTarget - The object that has the EventId for notifications.
51
+ * @param proxy - The proxy object to pass to the callback.
52
+ * @param callback - The callback to execute with mutations allowed.
53
+ */
54
+ export declare const executeChange: (contextKey: object, eventTarget: object, proxy: any, callback: (proxy: any) => void) => void;
55
+ //# sourceMappingURL=change-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-context.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/change-context.ts"],"names":[],"mappings":"AAkCA;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,CAAC,MAAM,IAAI,CAK3D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,OAE/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,IAI/C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,IAKvD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,KAAK,MAAM,KAAG,OAErD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,KAAK,MAAM,KAAG,IAIvD,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GACxB,YAAY,MAAM,EAClB,aAAa,MAAM,EACnB,OAAO,GAAG,EACV,UAAU,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,KAC7B,IAiBF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=change.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/change.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Define a non-enumerable property on an object.
3
+ */
4
+ export declare const defineHiddenProperty: (object: any, key: string | symbol, value: any) => void;
5
+ //# sourceMappingURL=define-hidden-property.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-hidden-property.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/define-hidden-property.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,GAAG,EAAE,KAAK,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,SAMjF,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Error thrown when attempting to mutate an object outside of an Obj.change() context.
3
+ */
4
+ export declare class MutationOutsideChangeContextError extends Error {
5
+ constructor(operation: string, suggestion: string);
6
+ }
7
+ /**
8
+ * Create an error for attempting to set a property outside of a change context.
9
+ */
10
+ export declare const createPropertySetError: (prop: string | symbol) => MutationOutsideChangeContextError;
11
+ /**
12
+ * Create an error for attempting to delete a property outside of a change context.
13
+ */
14
+ export declare const createPropertyDeleteError: (prop: string | symbol) => MutationOutsideChangeContextError;
15
+ /**
16
+ * Create an error for attempting to call an array method outside of a change context.
17
+ */
18
+ export declare const createArrayMethodError: (method: string) => MutationOutsideChangeContextError;
19
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/errors.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,qBAAa,iCAAkC,SAAQ,KAAK;gBAC9C,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAMlD;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,GAAG,MAAM,KAAG,iCAK9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,MAAM,MAAM,GAAG,MAAM,KAAG,iCAKjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,iCAEvD,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Run a callback in a batched context for EventId emissions.
3
+ * Multiple mutations within the batch will only emit one event per target.
4
+ */
5
+ export declare const batchEvents: (callback: () => void) => void;
6
+ /**
7
+ * Emit an event on a target, respecting batching.
8
+ */
9
+ export declare const emitEvent: (target: object) => void;
10
+ //# sourceMappingURL=event-batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-batch.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/event-batch.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,IAAI,KAAG,IAclD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,KAAG,IAM1C,CAAC"}
@@ -1,3 +1,14 @@
1
+ export * from './change-context';
2
+ export * from './define-hidden-property';
3
+ export * from './errors';
4
+ export * from './event-batch';
5
+ export * from './json-serializer';
1
6
  export * from './make-object';
7
+ export * from './proxy-types';
8
+ export * from './proxy-utils';
9
+ export * from './reactive';
10
+ export * from './reactive-array';
11
+ export * from './schema-validator';
12
+ export * from './symbols';
2
13
  export * from './typed-handler';
3
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Attaches a toJSON method to the object for typed serialization.
3
+ */
4
+ export declare const attachTypedJsonSerializer: (obj: any) => void;
5
+ export declare const typedJsonSerializer: (this: any) => any;
6
+ //# sourceMappingURL=json-serializer.d.ts.map