@dxos/echo 0.8.4-main.7ace549 → 0.8.4-main.8360d9e660

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 (591) hide show
  1. package/README.md +3 -4
  2. package/dist/lib/neutral/Annotation.mjs +37 -0
  3. package/dist/lib/neutral/Database.mjs +45 -0
  4. package/dist/lib/neutral/Entity.mjs +59 -0
  5. package/dist/lib/neutral/Err.mjs +12 -0
  6. package/dist/lib/neutral/Feed.mjs +47 -0
  7. package/dist/lib/neutral/Feed.mjs.map +7 -0
  8. package/dist/lib/neutral/Filter.mjs +64 -0
  9. package/dist/lib/neutral/Filter.mjs.map +7 -0
  10. package/dist/lib/neutral/Format.mjs +66 -0
  11. package/dist/lib/neutral/Format.mjs.map +7 -0
  12. package/dist/lib/neutral/JsonSchema.mjs +19 -0
  13. package/dist/lib/neutral/JsonSchema.mjs.map +7 -0
  14. package/dist/lib/neutral/Key.mjs +12 -0
  15. package/dist/lib/neutral/Key.mjs.map +7 -0
  16. package/dist/lib/neutral/Obj.mjs +110 -0
  17. package/dist/lib/neutral/Obj.mjs.map +7 -0
  18. package/dist/lib/neutral/Order.mjs +12 -0
  19. package/dist/lib/neutral/Order.mjs.map +7 -0
  20. package/dist/lib/neutral/Query.mjs +36 -0
  21. package/dist/lib/neutral/Query.mjs.map +7 -0
  22. package/dist/lib/neutral/QueryResult.mjs +2 -0
  23. package/dist/lib/neutral/QueryResult.mjs.map +7 -0
  24. package/dist/lib/neutral/Ref.mjs +24 -0
  25. package/dist/lib/neutral/Ref.mjs.map +7 -0
  26. package/dist/lib/neutral/Relation.mjs +93 -0
  27. package/dist/lib/neutral/Relation.mjs.map +7 -0
  28. package/dist/lib/neutral/SchemaRegistry.mjs +2 -0
  29. package/dist/lib/neutral/SchemaRegistry.mjs.map +7 -0
  30. package/dist/lib/neutral/Tag.mjs +28 -0
  31. package/dist/lib/neutral/Tag.mjs.map +7 -0
  32. package/dist/lib/neutral/Type.mjs +37 -0
  33. package/dist/lib/neutral/Type.mjs.map +7 -0
  34. package/dist/lib/neutral/chunk-43Y5DOS6.mjs +396 -0
  35. package/dist/lib/neutral/chunk-43Y5DOS6.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-4JRI2ZJI.mjs +313 -0
  37. package/dist/lib/neutral/chunk-4JRI2ZJI.mjs.map +7 -0
  38. package/dist/lib/neutral/chunk-6DNYDXCV.mjs +159 -0
  39. package/dist/lib/neutral/chunk-6DNYDXCV.mjs.map +7 -0
  40. package/dist/lib/neutral/chunk-6GPU7XC3.mjs +283 -0
  41. package/dist/lib/neutral/chunk-6GPU7XC3.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-6K2MVI2O.mjs +56 -0
  43. package/dist/lib/neutral/chunk-6K2MVI2O.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-7VNVH63N.mjs +106 -0
  45. package/dist/lib/neutral/chunk-7VNVH63N.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-ANHVGJI4.mjs +21 -0
  47. package/dist/lib/neutral/chunk-ANHVGJI4.mjs.map +7 -0
  48. package/dist/lib/neutral/chunk-B5OXLWZL.mjs +402 -0
  49. package/dist/lib/neutral/chunk-B5OXLWZL.mjs.map +7 -0
  50. package/dist/lib/neutral/chunk-BNCCGLJN.mjs +7 -0
  51. package/dist/lib/neutral/chunk-BNCCGLJN.mjs.map +7 -0
  52. package/dist/lib/neutral/chunk-BOZZPUXE.mjs +787 -0
  53. package/dist/lib/neutral/chunk-BOZZPUXE.mjs.map +7 -0
  54. package/dist/lib/neutral/chunk-C4JZK4J7.mjs +2712 -0
  55. package/dist/lib/neutral/chunk-C4JZK4J7.mjs.map +7 -0
  56. package/dist/lib/neutral/chunk-FXEG7EOK.mjs +45 -0
  57. package/dist/lib/neutral/chunk-FXEG7EOK.mjs.map +7 -0
  58. package/dist/lib/neutral/chunk-FZO7LQO7.mjs +73 -0
  59. package/dist/lib/neutral/chunk-FZO7LQO7.mjs.map +7 -0
  60. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  61. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  62. package/dist/lib/neutral/chunk-NEGC54NE.mjs +130 -0
  63. package/dist/lib/neutral/chunk-NEGC54NE.mjs.map +7 -0
  64. package/dist/lib/neutral/chunk-NXMFBIT5.mjs +299 -0
  65. package/dist/lib/neutral/chunk-NXMFBIT5.mjs.map +7 -0
  66. package/dist/lib/neutral/chunk-OENWMTE6.mjs +45 -0
  67. package/dist/lib/neutral/chunk-OENWMTE6.mjs.map +7 -0
  68. package/dist/lib/neutral/chunk-OMUPQMLR.mjs +7 -0
  69. package/dist/lib/neutral/chunk-OMUPQMLR.mjs.map +7 -0
  70. package/dist/lib/neutral/chunk-ROAGDPV7.mjs +121 -0
  71. package/dist/lib/neutral/chunk-ROAGDPV7.mjs.map +7 -0
  72. package/dist/lib/neutral/chunk-SEMVAGBM.mjs +355 -0
  73. package/dist/lib/neutral/chunk-SEMVAGBM.mjs.map +7 -0
  74. package/dist/lib/neutral/chunk-UBEZSGXY.mjs +51 -0
  75. package/dist/lib/neutral/chunk-UBEZSGXY.mjs.map +7 -0
  76. package/dist/lib/neutral/chunk-UI6MWK5W.mjs +42 -0
  77. package/dist/lib/neutral/chunk-UI6MWK5W.mjs.map +7 -0
  78. package/dist/lib/neutral/chunk-UTBRYVQC.mjs +27 -0
  79. package/dist/lib/neutral/chunk-UTBRYVQC.mjs.map +7 -0
  80. package/dist/lib/neutral/chunk-W47JKR3X.mjs +298 -0
  81. package/dist/lib/neutral/chunk-W47JKR3X.mjs.map +7 -0
  82. package/dist/lib/neutral/chunk-WYOKA6AE.mjs +67 -0
  83. package/dist/lib/neutral/chunk-WYOKA6AE.mjs.map +7 -0
  84. package/dist/lib/neutral/chunk-YMNSMKKW.mjs +97 -0
  85. package/dist/lib/neutral/chunk-YMNSMKKW.mjs.map +7 -0
  86. package/dist/lib/neutral/chunk-YWXWXIE5.mjs +34 -0
  87. package/dist/lib/neutral/chunk-YWXWXIE5.mjs.map +7 -0
  88. package/dist/lib/neutral/index.mjs +97 -0
  89. package/dist/lib/neutral/index.mjs.map +7 -0
  90. package/dist/lib/{node-esm → neutral}/internal/index.mjs +257 -123
  91. package/dist/lib/neutral/internal/index.mjs.map +7 -0
  92. package/dist/lib/neutral/meta.json +1 -0
  93. package/dist/lib/{browser → neutral}/testing/index.mjs +97 -52
  94. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  95. package/dist/types/src/Annotation.d.ts +23 -1
  96. package/dist/types/src/Annotation.d.ts.map +1 -1
  97. package/dist/types/src/Collection.d.ts +16 -0
  98. package/dist/types/src/Collection.d.ts.map +1 -0
  99. package/dist/types/src/Database.d.ts +139 -87
  100. package/dist/types/src/Database.d.ts.map +1 -1
  101. package/dist/types/src/Dataset.d.ts +18 -0
  102. package/dist/types/src/Dataset.d.ts.map +1 -0
  103. package/dist/types/src/Entity.d.ts +141 -9
  104. package/dist/types/src/Entity.d.ts.map +1 -1
  105. package/dist/types/src/Entity.test.d.ts +2 -0
  106. package/dist/types/src/Entity.test.d.ts.map +1 -0
  107. package/dist/types/src/Err.d.ts +107 -0
  108. package/dist/types/src/Err.d.ts.map +1 -0
  109. package/dist/types/src/Feed.d.ts +165 -0
  110. package/dist/types/src/Feed.d.ts.map +1 -0
  111. package/dist/types/src/Filter.d.ts +120 -0
  112. package/dist/types/src/Filter.d.ts.map +1 -0
  113. package/dist/types/src/Format.d.ts +3 -3
  114. package/dist/types/src/Format.d.ts.map +1 -1
  115. package/dist/types/src/Hypergraph.d.ts +65 -0
  116. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  117. package/dist/types/src/JsonSchema.d.ts +11 -4
  118. package/dist/types/src/JsonSchema.d.ts.map +1 -1
  119. package/dist/types/src/Obj.d.ts +392 -85
  120. package/dist/types/src/Obj.d.ts.map +1 -1
  121. package/dist/types/src/Obj.test.d.ts +2 -0
  122. package/dist/types/src/Obj.test.d.ts.map +1 -0
  123. package/dist/types/src/Order.d.ts +16 -0
  124. package/dist/types/src/Order.d.ts.map +1 -0
  125. package/dist/types/src/Query.d.ts +202 -0
  126. package/dist/types/src/Query.d.ts.map +1 -0
  127. package/dist/types/src/Query.test.d.ts +2 -0
  128. package/dist/types/src/Query.test.d.ts.map +1 -0
  129. package/dist/types/src/QueryResult.d.ts +80 -0
  130. package/dist/types/src/QueryResult.d.ts.map +1 -0
  131. package/dist/types/src/Ref.d.ts +61 -11
  132. package/dist/types/src/Ref.d.ts.map +1 -1
  133. package/dist/types/src/Relation.d.ts +282 -18
  134. package/dist/types/src/Relation.d.ts.map +1 -1
  135. package/dist/types/src/Relation.test.d.ts +2 -0
  136. package/dist/types/src/Relation.test.d.ts.map +1 -0
  137. package/dist/types/src/SchemaRegistry.d.ts +84 -0
  138. package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
  139. package/dist/types/src/Tag.d.ts +8 -7
  140. package/dist/types/src/Tag.d.ts.map +1 -1
  141. package/dist/types/src/Type.d.ts +124 -90
  142. package/dist/types/src/Type.d.ts.map +1 -1
  143. package/dist/types/src/Type.test.d.ts +2 -0
  144. package/dist/types/src/Type.test.d.ts.map +1 -0
  145. package/dist/types/src/View.d.ts +68 -0
  146. package/dist/types/src/View.d.ts.map +1 -0
  147. package/dist/types/src/hierarchy.test.d.ts +2 -0
  148. package/dist/types/src/hierarchy.test.d.ts.map +1 -0
  149. package/dist/types/src/index.d.ts +12 -2
  150. package/dist/types/src/index.d.ts.map +1 -1
  151. package/dist/types/src/internal/{annotations → Annotation}/annotations.d.ts +83 -27
  152. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -0
  153. package/dist/types/src/internal/Annotation/annotations.test.d.ts.map +1 -0
  154. package/dist/types/src/internal/Annotation/index.d.ts +4 -0
  155. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -0
  156. package/dist/types/src/internal/Annotation/sorting.d.ts +24 -0
  157. package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -0
  158. package/dist/types/src/internal/{annotations → Annotation}/util.d.ts +14 -1
  159. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
  160. package/dist/types/src/internal/Entity/api.d.ts +13 -0
  161. package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
  162. package/dist/types/src/internal/Entity/entity.d.ts +20 -0
  163. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
  164. package/dist/types/src/internal/Entity/index.d.ts +8 -0
  165. package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
  166. package/dist/types/src/internal/{entities → Entity}/model.d.ts +14 -29
  167. package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
  168. package/dist/types/src/internal/Entity/object.d.ts +18 -0
  169. package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
  170. package/dist/types/src/internal/Entity/relation.d.ts +35 -0
  171. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
  172. package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
  173. package/dist/types/src/internal/Entity/version.d.ts +42 -0
  174. package/dist/types/src/internal/Entity/version.d.ts.map +1 -0
  175. package/dist/types/src/internal/Format/date.d.ts.map +1 -0
  176. package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
  177. package/dist/types/src/internal/{formats → Format}/format.d.ts +4 -4
  178. package/dist/types/src/internal/Format/format.d.ts.map +1 -0
  179. package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
  180. package/dist/types/src/internal/Format/index.d.ts.map +1 -0
  181. package/dist/types/src/internal/Format/number.d.ts.map +1 -0
  182. package/dist/types/src/internal/Format/object.d.ts.map +1 -0
  183. package/dist/types/src/internal/{formats → Format}/select.d.ts +6 -4
  184. package/dist/types/src/internal/Format/select.d.ts.map +1 -0
  185. package/dist/types/src/internal/{formats → Format}/string.d.ts +4 -0
  186. package/dist/types/src/internal/Format/string.d.ts.map +1 -0
  187. package/dist/types/src/internal/{formats → Format}/types.d.ts +7 -3
  188. package/dist/types/src/internal/Format/types.d.ts.map +1 -0
  189. package/dist/types/src/internal/{json-schema → JsonSchema}/annotations.d.ts +1 -1
  190. package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
  191. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
  192. package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
  193. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
  194. package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-type.d.ts +131 -30
  195. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
  196. package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema.d.ts +2 -1
  197. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
  198. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts.map +1 -0
  199. package/dist/types/src/internal/Obj/clone.d.ts +8 -0
  200. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
  201. package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
  202. package/dist/types/src/internal/{object → Obj}/create-object.d.ts +3 -3
  203. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -0
  204. package/dist/types/src/internal/Obj/create-object.test.d.ts.map +1 -0
  205. package/dist/types/src/internal/{object → Obj}/deleted.d.ts +1 -1
  206. package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -0
  207. package/dist/types/src/internal/Obj/ids.d.ts.map +1 -0
  208. package/dist/types/src/internal/{object → Obj}/index.d.ts +3 -0
  209. package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
  210. package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
  211. package/dist/types/src/internal/Obj/json-serializer.d.ts +44 -0
  212. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
  213. package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
  214. package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
  215. package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
  216. package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
  217. package/dist/types/src/internal/Obj/set-value.d.ts +7 -0
  218. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
  219. package/dist/types/src/internal/Obj/set-value.test.d.ts +2 -0
  220. package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
  221. package/dist/types/src/internal/Obj/snapshot.d.ts +6 -0
  222. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
  223. package/dist/types/src/internal/Obj/typed-object.d.ts +25 -0
  224. package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
  225. package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
  226. package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
  227. package/dist/types/src/internal/{ref → Ref}/ref-array.d.ts +4 -4
  228. package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
  229. package/dist/types/src/internal/{ref → Ref}/ref.d.ts +31 -9
  230. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
  231. package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
  232. package/dist/types/src/internal/Type/compose.d.ts +7 -0
  233. package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
  234. package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
  235. package/dist/types/src/internal/{schema → Type}/echo-schema.d.ts +20 -7
  236. package/dist/types/src/internal/Type/echo-schema.d.ts.map +1 -0
  237. package/dist/types/src/internal/Type/index.d.ts +4 -0
  238. package/dist/types/src/internal/Type/index.d.ts.map +1 -0
  239. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
  240. package/dist/types/src/internal/Type/persistent-schema.d.ts +20 -0
  241. package/dist/types/src/internal/Type/persistent-schema.d.ts.map +1 -0
  242. package/dist/types/src/internal/common/api/index.d.ts +11 -0
  243. package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
  244. package/dist/types/src/internal/common/api/meta.d.ts +42 -0
  245. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -0
  246. package/dist/types/src/internal/common/index.d.ts +4 -0
  247. package/dist/types/src/internal/common/index.d.ts.map +1 -0
  248. package/dist/types/src/internal/common/proxy/change-context.d.ts +55 -0
  249. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -0
  250. package/dist/types/src/internal/common/proxy/change.test.d.ts +2 -0
  251. package/dist/types/src/internal/common/proxy/change.test.d.ts.map +1 -0
  252. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts +5 -0
  253. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -0
  254. package/dist/types/src/internal/common/proxy/errors.d.ts +19 -0
  255. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -0
  256. package/dist/types/src/internal/common/proxy/event-batch.d.ts +10 -0
  257. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -0
  258. package/dist/types/src/internal/common/proxy/handler.test.d.ts.map +1 -0
  259. package/dist/types/src/internal/common/proxy/index.d.ts +14 -0
  260. package/dist/types/src/internal/common/proxy/index.d.ts.map +1 -0
  261. package/dist/types/src/internal/common/proxy/json-serializer.d.ts +6 -0
  262. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -0
  263. package/dist/types/src/internal/{proxy → common/proxy}/make-object.d.ts +2 -4
  264. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -0
  265. package/dist/types/src/internal/common/proxy/ownership.d.ts +57 -0
  266. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -0
  267. package/dist/types/src/internal/common/proxy/proxy-types.d.ts +18 -0
  268. package/dist/types/src/internal/common/proxy/proxy-types.d.ts.map +1 -0
  269. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts +47 -0
  270. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -0
  271. package/dist/types/src/internal/common/proxy/reactive-array.d.ts +8 -0
  272. package/dist/types/src/internal/common/proxy/reactive-array.d.ts.map +1 -0
  273. package/dist/types/src/internal/common/proxy/reactive.d.ts +39 -0
  274. package/dist/types/src/internal/common/proxy/reactive.d.ts.map +1 -0
  275. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -0
  276. package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
  277. package/dist/types/src/internal/common/proxy/symbols.d.ts +3 -0
  278. package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
  279. package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.d.ts +16 -12
  280. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
  281. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
  282. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
  283. package/dist/types/src/internal/{types → common/types}/base.d.ts +6 -16
  284. package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
  285. package/dist/types/src/internal/common/types/entity.d.ts +37 -0
  286. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
  287. package/dist/types/src/internal/{types → common/types}/index.d.ts +1 -0
  288. package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
  289. package/dist/types/src/internal/{types → common/types}/meta.d.ts +8 -15
  290. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -0
  291. package/dist/types/src/internal/common/types/model-symbols.d.ts +54 -0
  292. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -0
  293. package/dist/types/src/internal/{types → common/types}/typename.d.ts +8 -0
  294. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
  295. package/dist/types/src/internal/{types → common/types}/version.d.ts +2 -2
  296. package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
  297. package/dist/types/src/internal/index.d.ts +9 -10
  298. package/dist/types/src/internal/index.d.ts.map +1 -1
  299. package/dist/types/src/testing/test-schema.d.ts +146 -179
  300. package/dist/types/src/testing/test-schema.d.ts.map +1 -1
  301. package/dist/types/src/testing/util.d.ts +6 -1
  302. package/dist/types/src/testing/util.d.ts.map +1 -1
  303. package/dist/types/tsconfig.tsbuildinfo +1 -1
  304. package/package.json +94 -61
  305. package/src/Annotation.ts +36 -5
  306. package/src/Collection.ts +37 -0
  307. package/src/Database.ts +250 -122
  308. package/src/Dataset.ts +26 -0
  309. package/src/Entity.test.ts +22 -0
  310. package/src/Entity.ts +197 -11
  311. package/src/Err.ts +40 -0
  312. package/src/Feed.ts +262 -0
  313. package/src/Filter.ts +391 -0
  314. package/src/Format.ts +3 -5
  315. package/src/Hypergraph.ts +79 -0
  316. package/src/JsonSchema.ts +14 -4
  317. package/src/Obj.test.ts +447 -0
  318. package/src/Obj.ts +528 -295
  319. package/src/Order.ts +46 -0
  320. package/src/Query.test.ts +632 -0
  321. package/src/Query.ts +522 -0
  322. package/src/QueryResult.ts +106 -0
  323. package/src/Ref.ts +79 -9
  324. package/src/Relation.test.ts +88 -0
  325. package/src/Relation.ts +439 -68
  326. package/src/SchemaRegistry.ts +106 -0
  327. package/src/Tag.ts +7 -6
  328. package/src/Type.test.ts +52 -0
  329. package/src/Type.ts +167 -166
  330. package/src/View.ts +107 -0
  331. package/src/hierarchy.test.ts +33 -0
  332. package/src/index.ts +13 -5
  333. package/src/internal/{annotations → Annotation}/annotations.test.ts +12 -12
  334. package/src/internal/{annotations → Annotation}/annotations.ts +172 -64
  335. package/src/internal/{annotations → Annotation}/index.ts +1 -0
  336. package/src/internal/Annotation/sorting.ts +52 -0
  337. package/src/internal/{annotations → Annotation}/util.ts +16 -1
  338. package/src/internal/Entity/api.ts +31 -0
  339. package/src/internal/{entities → Entity}/entity.ts +39 -20
  340. package/src/internal/{entities → Entity}/index.ts +3 -1
  341. package/src/internal/{entities → Entity}/model.ts +29 -49
  342. package/src/internal/{entities → Entity}/object.ts +23 -10
  343. package/src/internal/{entities → Entity}/relation.ts +42 -43
  344. package/src/internal/Entity/version.ts +97 -0
  345. package/src/internal/{formats → Format}/date.test.ts +1 -1
  346. package/src/internal/{formats → Format}/format.test.ts +2 -2
  347. package/src/internal/{formats → Format}/format.ts +7 -8
  348. package/src/internal/{formats → Format}/object.ts +2 -2
  349. package/src/internal/{formats → Format}/select.ts +6 -4
  350. package/src/internal/{formats → Format}/string.ts +5 -0
  351. package/src/internal/{formats → Format}/types.ts +12 -6
  352. package/src/internal/{json-schema → JsonSchema}/annotations.ts +3 -3
  353. package/src/internal/{json-schema → JsonSchema}/json-schema-normalize.ts +4 -2
  354. package/src/internal/{json-schema → JsonSchema}/json-schema-type.ts +34 -35
  355. package/src/internal/{json-schema → JsonSchema}/json-schema.test.ts +67 -65
  356. package/src/internal/{json-schema → JsonSchema}/json-schema.ts +18 -12
  357. package/src/internal/Obj/clone.ts +48 -0
  358. package/src/internal/{object → Obj}/common.ts +2 -2
  359. package/src/internal/{object → Obj}/create-object.test.ts +4 -4
  360. package/src/internal/{object → Obj}/create-object.ts +6 -6
  361. package/src/internal/{object → Obj}/deleted.ts +2 -2
  362. package/src/internal/{object → Obj}/index.ts +3 -0
  363. package/src/internal/{object → Obj}/inspect.ts +4 -4
  364. package/src/internal/{object → Obj}/json-serializer.test.ts +33 -6
  365. package/src/internal/{object → Obj}/json-serializer.ts +69 -84
  366. package/src/internal/{object → Obj}/schema-validator.test.ts +3 -7
  367. package/src/internal/Obj/schema-validator.ts +6 -0
  368. package/src/internal/Obj/set-value.test.ts +281 -0
  369. package/src/internal/Obj/set-value.ts +165 -0
  370. package/src/internal/Obj/snapshot.ts +105 -0
  371. package/src/internal/{object → Obj}/typed-object.test.ts +12 -12
  372. package/src/internal/Obj/typed-object.ts +30 -0
  373. package/src/internal/{ref → Ref}/ref-array.ts +4 -4
  374. package/src/internal/{ref → Ref}/ref.test.ts +5 -5
  375. package/src/internal/{ref → Ref}/ref.ts +90 -43
  376. package/src/internal/{schema → Type}/compose.test.ts +6 -6
  377. package/src/internal/{schema → Type}/compose.ts +14 -10
  378. package/src/internal/{schema → Type}/echo-schema.ts +55 -16
  379. package/src/internal/{schema → Type}/index.ts +0 -2
  380. package/src/internal/{schema → Type}/manipulation.ts +1 -1
  381. package/src/internal/Type/persistent-schema.ts +33 -0
  382. package/src/internal/{README.md → common/README.md} +36 -17
  383. package/src/internal/common/api/index.ts +15 -0
  384. package/src/internal/common/api/meta.ts +88 -0
  385. package/src/internal/common/index.ts +7 -0
  386. package/src/internal/common/proxy/change-context.ts +138 -0
  387. package/src/internal/common/proxy/change.test.ts +519 -0
  388. package/src/internal/common/proxy/define-hidden-property.ts +14 -0
  389. package/src/internal/common/proxy/errors.ts +42 -0
  390. package/src/internal/common/proxy/event-batch.ts +44 -0
  391. package/src/internal/{proxy → common/proxy}/handler.test.ts +32 -82
  392. package/src/internal/common/proxy/index.ts +17 -0
  393. package/src/internal/common/proxy/json-serializer.ts +90 -0
  394. package/src/internal/common/proxy/make-object.ts +106 -0
  395. package/src/internal/common/proxy/ownership.ts +253 -0
  396. package/src/internal/common/proxy/proxy-types.ts +23 -0
  397. package/src/internal/common/proxy/proxy-utils.ts +150 -0
  398. package/src/internal/common/proxy/reactive-array.ts +71 -0
  399. package/src/internal/common/proxy/reactive.ts +69 -0
  400. package/src/internal/{object → common/proxy}/schema-validator.ts +3 -1
  401. package/src/internal/{proxy → common/proxy}/schema.test.ts +29 -21
  402. package/src/internal/common/proxy/symbols.ts +7 -0
  403. package/src/internal/common/proxy/typed-handler.test.ts +314 -0
  404. package/src/internal/common/proxy/typed-handler.ts +449 -0
  405. package/src/internal/common/proxy/typed-object.test.ts +116 -0
  406. package/src/internal/{types → common/types}/base.ts +7 -22
  407. package/src/internal/common/types/entity.ts +54 -0
  408. package/src/internal/{types → common/types}/index.ts +1 -0
  409. package/src/internal/{types → common/types}/meta.ts +17 -25
  410. package/src/internal/common/types/model-symbols.ts +69 -0
  411. package/src/internal/{types → common/types}/typename.ts +10 -0
  412. package/src/internal/{types → common/types}/version.ts +2 -3
  413. package/src/internal/index.ts +9 -31
  414. package/src/testing/api.test.ts +32 -6
  415. package/src/testing/test-schema.ts +68 -41
  416. package/src/testing/util.ts +22 -15
  417. package/dist/lib/browser/chunk-7GH6RXJ3.mjs +0 -3683
  418. package/dist/lib/browser/chunk-7GH6RXJ3.mjs.map +0 -7
  419. package/dist/lib/browser/chunk-E4UTVJNF.mjs +0 -1111
  420. package/dist/lib/browser/chunk-E4UTVJNF.mjs.map +0 -7
  421. package/dist/lib/browser/index.mjs +0 -45
  422. package/dist/lib/browser/internal/index.mjs +0 -336
  423. package/dist/lib/browser/meta.json +0 -1
  424. package/dist/lib/browser/testing/index.mjs.map +0 -7
  425. package/dist/lib/node-esm/chunk-JE5RXM2I.mjs +0 -1111
  426. package/dist/lib/node-esm/chunk-JE5RXM2I.mjs.map +0 -7
  427. package/dist/lib/node-esm/chunk-M4B6BMD2.mjs +0 -3683
  428. package/dist/lib/node-esm/chunk-M4B6BMD2.mjs.map +0 -7
  429. package/dist/lib/node-esm/index.mjs +0 -45
  430. package/dist/lib/node-esm/meta.json +0 -1
  431. package/dist/lib/node-esm/testing/index.mjs +0 -328
  432. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  433. package/dist/types/src/errors.d.ts +0 -68
  434. package/dist/types/src/errors.d.ts.map +0 -1
  435. package/dist/types/src/internal/annotations/annotations.d.ts.map +0 -1
  436. package/dist/types/src/internal/annotations/annotations.test.d.ts.map +0 -1
  437. package/dist/types/src/internal/annotations/index.d.ts +0 -3
  438. package/dist/types/src/internal/annotations/index.d.ts.map +0 -1
  439. package/dist/types/src/internal/annotations/util.d.ts.map +0 -1
  440. package/dist/types/src/internal/entities/entity.d.ts +0 -10
  441. package/dist/types/src/internal/entities/entity.d.ts.map +0 -1
  442. package/dist/types/src/internal/entities/expando.d.ts +0 -16
  443. package/dist/types/src/internal/entities/expando.d.ts.map +0 -1
  444. package/dist/types/src/internal/entities/index.d.ts +0 -6
  445. package/dist/types/src/internal/entities/index.d.ts.map +0 -1
  446. package/dist/types/src/internal/entities/model.d.ts.map +0 -1
  447. package/dist/types/src/internal/entities/object.d.ts +0 -11
  448. package/dist/types/src/internal/entities/object.d.ts.map +0 -1
  449. package/dist/types/src/internal/entities/relation.d.ts +0 -55
  450. package/dist/types/src/internal/entities/relation.d.ts.map +0 -1
  451. package/dist/types/src/internal/entities/util.d.ts.map +0 -1
  452. package/dist/types/src/internal/formats/date.d.ts.map +0 -1
  453. package/dist/types/src/internal/formats/date.test.d.ts.map +0 -1
  454. package/dist/types/src/internal/formats/format.d.ts.map +0 -1
  455. package/dist/types/src/internal/formats/format.test.d.ts.map +0 -1
  456. package/dist/types/src/internal/formats/index.d.ts.map +0 -1
  457. package/dist/types/src/internal/formats/number.d.ts.map +0 -1
  458. package/dist/types/src/internal/formats/object.d.ts.map +0 -1
  459. package/dist/types/src/internal/formats/select.d.ts.map +0 -1
  460. package/dist/types/src/internal/formats/string.d.ts.map +0 -1
  461. package/dist/types/src/internal/formats/types.d.ts.map +0 -1
  462. package/dist/types/src/internal/json-schema/annotations.d.ts.map +0 -1
  463. package/dist/types/src/internal/json-schema/effect-schema.test.d.ts.map +0 -1
  464. package/dist/types/src/internal/json-schema/index.d.ts.map +0 -1
  465. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +0 -1
  466. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +0 -1
  467. package/dist/types/src/internal/json-schema/json-schema.d.ts.map +0 -1
  468. package/dist/types/src/internal/json-schema/json-schema.test.d.ts.map +0 -1
  469. package/dist/types/src/internal/object/common.d.ts.map +0 -1
  470. package/dist/types/src/internal/object/create-object.d.ts.map +0 -1
  471. package/dist/types/src/internal/object/create-object.test.d.ts.map +0 -1
  472. package/dist/types/src/internal/object/deleted.d.ts.map +0 -1
  473. package/dist/types/src/internal/object/ids.d.ts.map +0 -1
  474. package/dist/types/src/internal/object/index.d.ts.map +0 -1
  475. package/dist/types/src/internal/object/inspect.d.ts.map +0 -1
  476. package/dist/types/src/internal/object/json-serializer.d.ts +0 -31
  477. package/dist/types/src/internal/object/json-serializer.d.ts.map +0 -1
  478. package/dist/types/src/internal/object/json-serializer.test.d.ts.map +0 -1
  479. package/dist/types/src/internal/object/schema-validator.d.ts.map +0 -1
  480. package/dist/types/src/internal/object/schema-validator.test.d.ts.map +0 -1
  481. package/dist/types/src/internal/object/typed-object.d.ts +0 -31
  482. package/dist/types/src/internal/object/typed-object.d.ts.map +0 -1
  483. package/dist/types/src/internal/object/typed-object.test.d.ts.map +0 -1
  484. package/dist/types/src/internal/proxy/handler.test.d.ts.map +0 -1
  485. package/dist/types/src/internal/proxy/index.d.ts +0 -3
  486. package/dist/types/src/internal/proxy/index.d.ts.map +0 -1
  487. package/dist/types/src/internal/proxy/make-object.d.ts.map +0 -1
  488. package/dist/types/src/internal/proxy/schema.test.d.ts.map +0 -1
  489. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +0 -1
  490. package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +0 -1
  491. package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +0 -1
  492. package/dist/types/src/internal/ref/index.d.ts.map +0 -1
  493. package/dist/types/src/internal/ref/ref-array.d.ts.map +0 -1
  494. package/dist/types/src/internal/ref/ref.d.ts.map +0 -1
  495. package/dist/types/src/internal/ref/ref.test.d.ts.map +0 -1
  496. package/dist/types/src/internal/schema/compose.d.ts +0 -6
  497. package/dist/types/src/internal/schema/compose.d.ts.map +0 -1
  498. package/dist/types/src/internal/schema/compose.test.d.ts.map +0 -1
  499. package/dist/types/src/internal/schema/echo-schema.d.ts.map +0 -1
  500. package/dist/types/src/internal/schema/index.d.ts +0 -6
  501. package/dist/types/src/internal/schema/index.d.ts.map +0 -1
  502. package/dist/types/src/internal/schema/manipulation.d.ts.map +0 -1
  503. package/dist/types/src/internal/schema/persistent-schema.d.ts +0 -18
  504. package/dist/types/src/internal/schema/persistent-schema.d.ts.map +0 -1
  505. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +0 -18
  506. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +0 -1
  507. package/dist/types/src/internal/schema/snapshot.d.ts +0 -6
  508. package/dist/types/src/internal/schema/snapshot.d.ts.map +0 -1
  509. package/dist/types/src/internal/types/base.d.ts.map +0 -1
  510. package/dist/types/src/internal/types/entity.d.ts +0 -12
  511. package/dist/types/src/internal/types/entity.d.ts.map +0 -1
  512. package/dist/types/src/internal/types/index.d.ts.map +0 -1
  513. package/dist/types/src/internal/types/meta.d.ts.map +0 -1
  514. package/dist/types/src/internal/types/typename.d.ts.map +0 -1
  515. package/dist/types/src/internal/types/version.d.ts.map +0 -1
  516. package/dist/types/src/query/filter.d.ts +0 -167
  517. package/dist/types/src/query/filter.d.ts.map +0 -1
  518. package/dist/types/src/query/index.d.ts +0 -5
  519. package/dist/types/src/query/index.d.ts.map +0 -1
  520. package/dist/types/src/query/order.d.ts +0 -12
  521. package/dist/types/src/query/order.d.ts.map +0 -1
  522. package/dist/types/src/query/query.d.ts +0 -112
  523. package/dist/types/src/query/query.d.ts.map +0 -1
  524. package/dist/types/src/query/query.test.d.ts +0 -2
  525. package/dist/types/src/query/query.test.d.ts.map +0 -1
  526. package/dist/types/src/query/testing.d.ts +0 -51
  527. package/dist/types/src/query/testing.d.ts.map +0 -1
  528. package/dist/types/src/query/types.d.ts +0 -17
  529. package/dist/types/src/query/types.d.ts.map +0 -1
  530. package/dist/types/src/query/util.d.ts +0 -8
  531. package/dist/types/src/query/util.d.ts.map +0 -1
  532. package/src/errors.ts +0 -18
  533. package/src/internal/entities/expando.ts +0 -23
  534. package/src/internal/object/typed-object.ts +0 -94
  535. package/src/internal/proxy/index.ts +0 -6
  536. package/src/internal/proxy/make-object.ts +0 -113
  537. package/src/internal/proxy/typed-handler.test.ts +0 -102
  538. package/src/internal/proxy/typed-handler.ts +0 -233
  539. package/src/internal/proxy/typed-object.test.ts +0 -105
  540. package/src/internal/schema/persistent-schema.ts +0 -28
  541. package/src/internal/schema/runtime-schema-registry.ts +0 -78
  542. package/src/internal/schema/snapshot.ts +0 -25
  543. package/src/internal/types/entity.ts +0 -23
  544. package/src/query/filter.ts +0 -455
  545. package/src/query/index.ts +0 -9
  546. package/src/query/order.ts +0 -34
  547. package/src/query/query.test.ts +0 -334
  548. package/src/query/query.ts +0 -303
  549. package/src/query/testing.ts +0 -64
  550. package/src/query/types.ts +0 -23
  551. package/src/query/util.ts +0 -25
  552. /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
  553. /package/dist/lib/{browser/internal/index.mjs.map → neutral/Database.mjs.map} +0 -0
  554. /package/dist/lib/{node-esm/index.mjs.map → neutral/Entity.mjs.map} +0 -0
  555. /package/dist/lib/{node-esm/internal/index.mjs.map → neutral/Err.mjs.map} +0 -0
  556. /package/dist/types/src/internal/{annotations → Annotation}/annotations.test.d.ts +0 -0
  557. /package/dist/types/src/internal/{entities → Entity}/util.d.ts +0 -0
  558. /package/dist/types/src/internal/{formats → Format}/date.d.ts +0 -0
  559. /package/dist/types/src/internal/{formats → Format}/date.test.d.ts +0 -0
  560. /package/dist/types/src/internal/{formats → Format}/format.test.d.ts +0 -0
  561. /package/dist/types/src/internal/{formats → Format}/index.d.ts +0 -0
  562. /package/dist/types/src/internal/{formats → Format}/number.d.ts +0 -0
  563. /package/dist/types/src/internal/{formats → Format}/object.d.ts +0 -0
  564. /package/dist/types/src/internal/{json-schema → JsonSchema}/effect-schema.test.d.ts +0 -0
  565. /package/dist/types/src/internal/{json-schema → JsonSchema}/index.d.ts +0 -0
  566. /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-normalize.d.ts +0 -0
  567. /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema.test.d.ts +0 -0
  568. /package/dist/types/src/internal/{object → Obj}/common.d.ts +0 -0
  569. /package/dist/types/src/internal/{object → Obj}/create-object.test.d.ts +0 -0
  570. /package/dist/types/src/internal/{object → Obj}/ids.d.ts +0 -0
  571. /package/dist/types/src/internal/{object → Obj}/inspect.d.ts +0 -0
  572. /package/dist/types/src/internal/{object → Obj}/json-serializer.test.d.ts +0 -0
  573. /package/dist/types/src/internal/{object → Obj}/schema-validator.test.d.ts +0 -0
  574. /package/dist/types/src/internal/{object → Obj}/typed-object.test.d.ts +0 -0
  575. /package/dist/types/src/internal/{ref → Ref}/index.d.ts +0 -0
  576. /package/dist/types/src/internal/{ref → Ref}/ref.test.d.ts +0 -0
  577. /package/dist/types/src/internal/{schema → Type}/compose.test.d.ts +0 -0
  578. /package/dist/types/src/internal/{schema → Type}/manipulation.d.ts +0 -0
  579. /package/dist/types/src/internal/{proxy → common/proxy}/handler.test.d.ts +0 -0
  580. /package/dist/types/src/internal/{object → common/proxy}/schema-validator.d.ts +0 -0
  581. /package/dist/types/src/internal/{proxy → common/proxy}/schema.test.d.ts +0 -0
  582. /package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.test.d.ts +0 -0
  583. /package/dist/types/src/internal/{proxy → common/proxy}/typed-object.test.d.ts +0 -0
  584. /package/src/internal/{entities → Entity}/util.ts +0 -0
  585. /package/src/internal/{formats → Format}/date.ts +0 -0
  586. /package/src/internal/{formats → Format}/index.ts +0 -0
  587. /package/src/internal/{formats → Format}/number.ts +0 -0
  588. /package/src/internal/{json-schema → JsonSchema}/effect-schema.test.ts +0 -0
  589. /package/src/internal/{json-schema → JsonSchema}/index.ts +0 -0
  590. /package/src/internal/{object → Obj}/ids.ts +0 -0
  591. /package/src/internal/{ref → Ref}/index.ts +0 -0
@@ -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 '../common/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.
@@ -64,7 +65,7 @@ declare const _JsonSchemaType: Schema.Struct<{
64
65
  * Typename of this schema.
65
66
  * Only on schema representing an ECHO object.
66
67
  *
67
- * @example 'example.com/type/MyType'
68
+ * @example 'com.example.type.my-type'
68
69
  */
69
70
  typename: Schema.optional<typeof Schema.String>;
70
71
  /**
@@ -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
+ typename?: string | undefined;
251
+ version?: string | undefined;
252
+ annotations?: {
253
+ annotations?: {
254
+ [x: string]: any;
255
+ } | undefined;
256
+ labelProp?: JsonPath | JsonPath[] | undefined;
257
+ generator?: string | (string | number)[] | undefined;
258
+ meta?: {
259
+ [x: string]: any;
260
+ } | undefined;
261
+ type?: {
262
+ typename: string;
263
+ version: string;
264
+ schemaId?: string | undefined;
265
+ } | undefined;
266
+ } | undefined;
267
+ type?: "string" | "number" | "boolean" | "object" | "array" | "integer" | "null" | ("string" | "number" | "boolean" | "object" | "array" | "integer" | "null")[] | undefined;
268
+ $id?: string | undefined;
269
+ $schema?: string | undefined;
270
+ $ref?: string | undefined;
271
+ $comment?: string | undefined;
272
+ entityKind?: import("..").EntityKind | undefined;
273
+ relationTarget?: /*elided*/ any | undefined;
274
+ relationSource?: /*elided*/ any | undefined;
275
+ title?: string | undefined;
276
+ description?: string | undefined;
277
+ readOnly?: boolean | undefined;
278
+ writeOnly?: boolean | undefined;
279
+ examples?: any[] | undefined;
280
+ default?: any;
281
+ const?: any;
282
+ enum?: any[] | undefined;
283
+ multipleOf?: number | undefined;
284
+ maximum?: number | undefined;
285
+ exclusiveMaximum?: number | undefined;
286
+ minimum?: number | undefined;
287
+ exclusiveMinimum?: number | undefined;
288
+ maxLength?: number | undefined;
289
+ pattern?: string | undefined;
290
+ format?: string | undefined;
291
+ minLength?: number | undefined;
292
+ items?: /*elided*/ any | /*elided*/ any[] | undefined;
293
+ additionalItems?: boolean | /*elided*/ any | undefined;
294
+ maxItems?: number | undefined;
295
+ minItems?: number | undefined;
296
+ uniqueItems?: boolean | undefined;
297
+ contains?: /*elided*/ any | undefined;
298
+ maxProperties?: number | undefined;
299
+ minProperties?: number | undefined;
300
+ required?: string[] | undefined;
301
+ propertyOrder?: string[] | undefined;
302
+ additionalProperties?: boolean | /*elided*/ any | undefined;
303
+ properties?: {
304
+ [x: string]: /*elided*/ any;
305
+ } | undefined;
306
+ patternProperties?: {
307
+ [x: string]: /*elided*/ any;
308
+ } | undefined;
309
+ propertyNames?: /*elided*/ any | undefined;
310
+ definitions?: {
311
+ [x: string]: /*elided*/ any;
312
+ } | undefined;
313
+ dependencies?: {
314
+ [x: string]: string | string[] | /*elided*/ any;
315
+ } | undefined;
316
+ contentMediaType?: string | undefined;
317
+ contentEncoding?: string | undefined;
318
+ if?: /*elided*/ any | undefined;
319
+ then?: /*elided*/ any | undefined;
320
+ else?: /*elided*/ any | undefined;
321
+ allOf?: /*elided*/ any[] | undefined;
322
+ anyOf?: /*elided*/ any[] | undefined;
323
+ oneOf?: /*elided*/ any[] | undefined;
324
+ not?: /*elided*/ any | undefined;
325
+ $defs?: {
326
+ [x: string]: /*elided*/ any;
327
+ } | undefined;
328
+ currency?: string | 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
+ labelProp?: JsonPath | JsonPath[] | undefined;
339
+ generator?: string | (string | number)[] | undefined;
340
+ meta?: {
341
+ [x: string]: any;
342
+ } | undefined;
343
+ type?: {
344
+ typename: string;
345
+ version: string;
346
+ schemaId?: string | undefined;
347
+ } | undefined;
348
+ } | undefined;
349
+ };
249
350
  export {};
250
351
  //# sourceMappingURL=json-schema-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-type.d.ts","sourceRoot":"","sources":["../../../../../src/internal/JsonSchema/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,iBAAiB,CAAC;AAmB/C;;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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/JsonSchema/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 @@
1
+ {"version":3,"file":"json-schema.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/JsonSchema/json-schema.test.ts"],"names":[],"mappings":""}
@@ -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/Obj/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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/common.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,MAAM,MAAM,kBAAkB,GAAG;IAE/B,OAAO,CAAC,EAAE,IAAI,CAAC;IAEf,MAAM,CAAC,EAAE,IAAI,CAAC;CACf,CAAC;AAEF;;GAEG;AAGH,KAAK,sBAAsB,CACzB,YAAY,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EACzC,OAAO,SAAS,kBAAkB,IAChC,OAAO,CAAC,SAAS,CAAC,SAAS,OAAO,GAClC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GACjE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AAE7D;;GAEG;AAGH,MAAM,MAAM,iBAAiB,CAC3B,YAAY,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EACzC,OAAO,SAAS,kBAAkB,IAChC,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,OAAO,GACjG,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GACjF,EAAE,CAAC,CAAC;AAEV,eAAO,MAAM,oBAAoB,GAC/B,UAAU,MAAM,EAChB,SAAS,MAAM,EACf,YAAY,MAAM,CAAC,MAAM,CAAC,YAAY,KACrC,MAAM,CAAC,WAAW,CAAC,GAAG,CAuBxB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type * as Schema from 'effect/Schema';
2
- import { EntityKind, KindId } from '../types';
2
+ import { EntityKind, KindId } from '../common/types';
3
3
  export type CreateObjectProps<T> = T extends {
4
4
  id: string;
5
5
  } ? Omit<T, 'id' | KindId> & {
@@ -21,8 +21,8 @@ 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({
25
- * typename: 'example.com/type/Person',
24
+ * }).pipe(Type.object({
25
+ * typename: 'com.example.type.person',
26
26
  * version: '0.1.0',
27
27
  * }))
28
28
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/create-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAgB7C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAqB,MAAM,iBAAiB,CAAC;AAKxE,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,CAAC;AAE3G;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAC/D,QAAQ,CAAC,EACT,OAAO,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAC9C,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;CAoC/E,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-object.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/create-object.test.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { type AnyProperties } from '../types';
1
+ import { type AnyProperties } from '../common/types';
2
2
  /**
3
3
  * @returns `true` if the object has been marked as deleted.
4
4
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleted.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/deleted.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,aAAa,KAAG,OAQ9C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/ids.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAA+B,OAAO,EAAE,MAAM,YAAY,CAAC;AAEvE;;GAEG;AAEH,eAAO,MAAM,cAAc,GAAI,iBAA0B,EAAE,gBAA2B,QACjB,CAAC"}
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/inspect.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ import { type EncodedReference, ObjectStructure } from '@dxos/echo-protocol';
2
+ import { DXN } from '@dxos/keys';
3
+ import type * as Database from '../../Database';
4
+ import type * as Obj from '../../Obj';
5
+ import { type ObjectJSON } from '../Entity';
6
+ import { attachTypedJsonSerializer } from '../common/proxy';
7
+ import { Ref, type RefResolver } from '../Ref';
8
+ import { type AnyEntity } from '../common/types';
9
+ export { attachTypedJsonSerializer };
10
+ type DeepReplaceRef<T> = T extends Ref<any> ? EncodedReference : T extends object ? {
11
+ [K in keyof T]: DeepReplaceRef<T[K]>;
12
+ } : T;
13
+ type SerializedObject<T extends {
14
+ id: string;
15
+ }> = {
16
+ [K in keyof T]: DeepReplaceRef<T[K]>;
17
+ } & ObjectJSON;
18
+ /**
19
+ * Converts object to it's JSON representation.
20
+ */
21
+ export declare const objectToJSON: <T extends AnyEntity>(obj: T) => SerializedObject<T>;
22
+ /**
23
+ * Creates an object from it's json representation.
24
+ * Performs schema validation.
25
+ * References and schema will be resolvable if the `refResolver` is provided.
26
+ * The function need to be async to support resolving the schema as well as the relation endpoints.
27
+ *
28
+ * @param jsonData - JSON representation of the object.
29
+ * @param options.refResolver - Resolver for references.
30
+ * @param options.dxn - Override object DXN.
31
+ * @param options.database - Database to associate with the object.
32
+ */
33
+ export declare const objectFromJSON: (jsonData: unknown, { refResolver, dxn, database }?: {
34
+ refResolver?: RefResolver;
35
+ dxn?: DXN;
36
+ database?: Database.Database;
37
+ }) => Promise<AnyEntity>;
38
+ export declare const setRefResolverOnData: (obj: AnyEntity, refResolver: RefResolver) => void;
39
+ /**
40
+ * Convert ObjectStructure to JSON data for indexing.
41
+ * Different from {@link objectToJSON} as it takes the internal {@link ObjectStructure} representation directly
42
+ */
43
+ export declare const objectStructureToJson: (objectId: string, structure: ObjectStructure) => Obj.JSON;
44
+ //# sourceMappingURL=json-serializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-serializer.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/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,QAAQ,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAEtC,OAAO,EAML,KAAK,UAAU,EAOhB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,yBAAyB,EAA6C,MAAM,iBAAiB,CAAC;AACvG,OAAO,EAAE,GAAG,EAAE,KAAK,WAAW,EAA2C,MAAM,QAAQ,CAAC;AACxF,OAAO,EAIL,KAAK,SAAS,EAOf,MAAM,iBAAiB,CAAC;AAGzB,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;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,OAAO,EACjB,iCAAgC;IAAE,WAAW,CAAC,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;CAAO,KAC1G,OAAO,CAAC,SAAS,CA6EnB,CAAC;AA4BF,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,IAUxF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-serializer.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/json-serializer.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { SchemaValidator, checkIdNotPresentOnSchema } from '../common/proxy';
2
+ //# sourceMappingURL=schema-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/schema-validator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-validator.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/schema-validator.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { type Mutable } from '../common/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/Obj/set-value.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C;;;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/Obj/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/Obj/snapshot.ts"],"names":[],"mappings":"AAoDA;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,KAAG,CAgDtD,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type * as Schema from 'effect/Schema';
2
+ import { type TypeMeta } from '../Annotation';
3
+ import { type AnyEntity } from '../common/types';
4
+ /**
5
+ * Definition for an object type that can be stored in an ECHO database.
6
+ * Implements effect schema to define object properties.
7
+ * Has a typename and version.
8
+ *
9
+ * In contrast to {@link EchoSchema} this definition is not recorded in the database.
10
+ *
11
+ * @deprecated Use `Type.AnyObj` from `@dxos/echo` instead.
12
+ */
13
+ export interface TypedObject<A = any, I = any> extends TypeMeta, Schema.Schema<A, I> {
14
+ }
15
+ /**
16
+ * Typed object that could be used as a prototype in class definitions.
17
+ * This is an internal API type.
18
+ *
19
+ * @deprecated Use `Type.AnyObj` from `@dxos/echo` instead.
20
+ */
21
+ export interface TypedObjectPrototype<A = any, I = any> extends TypedObject<A, I> {
22
+ /** Type constructor. */
23
+ new (): AnyEntity & A;
24
+ }
25
+ //# sourceMappingURL=typed-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/typed-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;;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 @@
1
+ {"version":3,"file":"typed-object.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/typed-object.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Ref/index.ts"],"names":[],"mappings":"AAIA,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type ObjectId } from '@dxos/keys';
2
- import { type AnyEchoObject } from '../types';
2
+ import { type AnyEntity } from '../common/types';
3
3
  import { Ref } from './ref';
4
4
  /**
5
5
  * Helper functions for working with arrays of refs.
@@ -8,14 +8,14 @@ export declare const RefArray: Readonly<{
8
8
  /**
9
9
  * @returns all resolved targets.
10
10
  */
11
- targets: <T extends AnyEchoObject>(refs: readonly Ref<T>[]) => T[];
11
+ targets: <T extends AnyEntity>(refs: readonly Ref<T>[]) => T[];
12
12
  /**
13
13
  * Load all referenced objects.
14
14
  */
15
- loadAll: <T extends AnyEchoObject>(refs: readonly Ref<T>[]) => Promise<T[]>;
15
+ loadAll: <T extends AnyEntity>(refs: readonly Ref<T>[]) => Promise<T[]>;
16
16
  /**
17
17
  * Removes the ref with the given id.
18
18
  */
19
- removeById: (refs: Ref<AnyEchoObject>[], id: ObjectId) => void;
19
+ removeById: (refs: Ref<AnyEntity>[], id: ObjectId) => void;
20
20
  }>;
21
21
  //# sourceMappingURL=ref-array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref-array.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Ref/ref-array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB;;OAEG;cACO,CAAC,SAAS,SAAS,QAAQ,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,KAAG,CAAC,EAAE;IAI5D;;OAEG;cACO,CAAC,SAAS,SAAS,QAAQ,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,KAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAIrE;;OAEG;uBACgB,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,QAAQ;EAMjD,CAAC"}
@@ -1,9 +1,14 @@
1
+ import * as Equal from 'effect/Equal';
2
+ import * as Hash from 'effect/Hash';
3
+ import * as Pipeable from 'effect/Pipeable';
1
4
  import * as Schema from 'effect/Schema';
2
5
  import * as SchemaAST from 'effect/SchemaAST';
3
- import { type EncodedReference } from '@dxos/echo-protocol';
6
+ import type * as Types from 'effect/Types';
7
+ import { type CustomInspectFunction, inspectCustom } from '@dxos/debug';
8
+ import { EncodedReference } from '@dxos/echo-protocol';
4
9
  import { DXN, ObjectId } from '@dxos/keys';
5
- import { type JsonSchemaType } from '../json-schema';
6
- import type { AnyProperties, WithId } from '../types';
10
+ import { type JsonSchemaType } from '../JsonSchema';
11
+ import type { AnyEntity, AnyProperties } from '../common/types';
7
12
  /**
8
13
  * The `$id` and `$ref` fields for an ECHO reference schema.
9
14
  */
@@ -11,7 +16,7 @@ export declare const JSON_SCHEMA_ECHO_REF_ID = "/schemas/echo/ref";
11
16
  export declare const getSchemaReference: (property: JsonSchemaType) => {
12
17
  typename: string;
13
18
  } | undefined;
14
- export declare const createSchemaReference: (typename: string) => JsonSchemaType;
19
+ export declare const createSchemaReference: (typename: string) => Types.DeepMutable<JsonSchemaType>;
15
20
  /**
16
21
  * Runtime type-info for a reference extracted from effect AST.
17
22
  */
@@ -30,7 +35,7 @@ export declare const RefTypeId: unique symbol;
30
35
  /**
31
36
  * Reference Schema.
32
37
  */
33
- export interface RefSchema<T extends WithId> extends Schema.SchemaClass<Ref<T>, EncodedReference> {
38
+ export interface RefSchema<T extends AnyEntity> extends Schema.SchemaClass<Ref<T>, EncodedReference> {
34
39
  }
35
40
  /**
36
41
  * Type of the `Ref` function and extra methods attached to it.
@@ -56,7 +61,7 @@ export interface RefFn {
56
61
  /**
57
62
  * Constructs a reference that points to the given object.
58
63
  */
59
- make: <T extends WithId>(object: T) => Ref<T>;
64
+ make: <T extends AnyEntity>(object: T) => Ref<T>;
60
65
  /**
61
66
  * Constructs a reference that points to the object specified by the provided DXN.
62
67
  */
@@ -70,17 +75,19 @@ export declare const Ref: RefFn;
70
75
  * Represents materialized reference to a target.
71
76
  * This is the data type for the fields marked as ref.
72
77
  */
73
- export interface Ref<T> {
78
+ export interface Ref<T> extends Pipeable.Pipeable {
74
79
  /**
75
80
  * Target object DXN.
76
81
  */
77
82
  get dxn(): DXN;
83
+ /**
84
+ * Returns true if the reference has a target available (inlined or resolver set).
85
+ */
86
+ get isAvailable(): boolean;
78
87
  /**
79
88
  * @returns The reference target.
80
89
  * May return `undefined` if the object is not loaded in the working set.
81
90
  * Accessing this property, even if it returns `undefined` will trigger the object to be loaded to the working set.
82
- *
83
- * @reactive Supports signal subscriptions.
84
91
  */
85
92
  get target(): T | undefined;
86
93
  /**
@@ -157,6 +164,10 @@ export declare class RefImpl<T> implements Ref<T> {
157
164
  * @inheritdoc
158
165
  */
159
166
  get dxn(): DXN;
167
+ /**
168
+ * @inheritdoc
169
+ */
170
+ get isAvailable(): boolean;
160
171
  /**
161
172
  * @inheritdoc
162
173
  */
@@ -184,9 +195,20 @@ export declare class RefImpl<T> implements Ref<T> {
184
195
  */
185
196
  toJSON(): EncodedReference;
186
197
  toString(): string;
198
+ [inspectCustom]: CustomInspectFunction;
187
199
  [RefTypeId]: {
188
200
  _T: any;
189
201
  };
202
+ /**
203
+ * Effect Hash trait. Required for MutableHashMap-based caches (e.g., Atom.family)
204
+ * to deduplicate Ref instances that point to the same object.
205
+ * ECHO proxies return new RefImpl instances on every property access,
206
+ * so without this, each access would create a separate cache entry.
207
+ */
208
+ [Hash.symbol](): number;
209
+ /** Effect Equal trait. See {@link Hash.symbol} for rationale. */
210
+ [Equal.symbol](that: Equal.Equal): boolean;
211
+ pipe(): unknown;
190
212
  }
191
213
  /**
192
214
  * Internal API for setting the reference resolver.