@dxos/echo 0.8.4-main.c4373fc → 0.8.4-main.cb12b3f963

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 (695) hide show
  1. package/README.md +3 -4
  2. package/dist/lib/neutral/Annotation.mjs +37 -0
  3. package/dist/lib/neutral/Database.mjs +49 -0
  4. package/dist/lib/neutral/Entity.mjs +61 -0
  5. package/dist/lib/neutral/Err.mjs +12 -0
  6. package/dist/lib/neutral/Extension.mjs +18 -0
  7. package/dist/lib/neutral/Feed.mjs +50 -0
  8. package/dist/lib/neutral/Filter.mjs +72 -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/Migration.mjs +17 -0
  17. package/dist/lib/neutral/Migration.mjs.map +7 -0
  18. package/dist/lib/neutral/Obj.mjs +113 -0
  19. package/dist/lib/neutral/Obj.mjs.map +7 -0
  20. package/dist/lib/neutral/Order.mjs +12 -0
  21. package/dist/lib/neutral/Order.mjs.map +7 -0
  22. package/dist/lib/neutral/Query.mjs +38 -0
  23. package/dist/lib/neutral/Query.mjs.map +7 -0
  24. package/dist/lib/neutral/QueryResult.mjs +2 -0
  25. package/dist/lib/neutral/QueryResult.mjs.map +7 -0
  26. package/dist/lib/neutral/Ref.mjs +24 -0
  27. package/dist/lib/neutral/Ref.mjs.map +7 -0
  28. package/dist/lib/neutral/Relation.mjs +94 -0
  29. package/dist/lib/neutral/Relation.mjs.map +7 -0
  30. package/dist/lib/neutral/SchemaRegistry.mjs +2 -0
  31. package/dist/lib/neutral/SchemaRegistry.mjs.map +7 -0
  32. package/dist/lib/neutral/Tag.mjs +29 -0
  33. package/dist/lib/neutral/Tag.mjs.map +7 -0
  34. package/dist/lib/neutral/Type.mjs +37 -0
  35. package/dist/lib/neutral/Type.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-3U5PIVPZ.mjs +354 -0
  37. package/dist/lib/neutral/chunk-3U5PIVPZ.mjs.map +7 -0
  38. package/dist/lib/neutral/chunk-44HT3MEC.mjs +73 -0
  39. package/dist/lib/neutral/chunk-44HT3MEC.mjs.map +7 -0
  40. package/dist/lib/neutral/chunk-4VTRFJV3.mjs +128 -0
  41. package/dist/lib/neutral/chunk-4VTRFJV3.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-5NR2KWDU.mjs +34 -0
  43. package/dist/lib/neutral/chunk-5NR2KWDU.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-62RJTYOZ.mjs +346 -0
  45. package/dist/lib/neutral/chunk-62RJTYOZ.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-7OO5B5DD.mjs +45 -0
  47. package/dist/lib/neutral/chunk-7OO5B5DD.mjs.map +7 -0
  48. package/dist/lib/neutral/chunk-7RVZT53K.mjs +21 -0
  49. package/dist/lib/neutral/chunk-7RVZT53K.mjs.map +7 -0
  50. package/dist/lib/neutral/chunk-AG7JS76F.mjs +56 -0
  51. package/dist/lib/neutral/chunk-AG7JS76F.mjs.map +7 -0
  52. package/dist/lib/neutral/chunk-AVPYX7FF.mjs +2436 -0
  53. package/dist/lib/neutral/chunk-AVPYX7FF.mjs.map +7 -0
  54. package/dist/lib/neutral/chunk-BCKTAKBX.mjs +270 -0
  55. package/dist/lib/neutral/chunk-BCKTAKBX.mjs.map +7 -0
  56. package/dist/lib/neutral/chunk-BICZKPQG.mjs +7 -0
  57. package/dist/lib/neutral/chunk-BICZKPQG.mjs.map +7 -0
  58. package/dist/lib/neutral/chunk-GECFB2UL.mjs +345 -0
  59. package/dist/lib/neutral/chunk-GECFB2UL.mjs.map +7 -0
  60. package/dist/lib/neutral/chunk-GWFFC34K.mjs +50 -0
  61. package/dist/lib/neutral/chunk-GWFFC34K.mjs.map +7 -0
  62. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  63. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  64. package/dist/lib/neutral/chunk-M7ET73JD.mjs +206 -0
  65. package/dist/lib/neutral/chunk-M7ET73JD.mjs.map +7 -0
  66. package/dist/lib/neutral/chunk-N4B7FHQT.mjs +67 -0
  67. package/dist/lib/neutral/chunk-N4B7FHQT.mjs.map +7 -0
  68. package/dist/lib/neutral/chunk-NCSIQP3L.mjs +420 -0
  69. package/dist/lib/neutral/chunk-NCSIQP3L.mjs.map +7 -0
  70. package/dist/lib/neutral/chunk-NGQNU3KX.mjs +45 -0
  71. package/dist/lib/neutral/chunk-NGQNU3KX.mjs.map +7 -0
  72. package/dist/lib/neutral/chunk-PRCRETDK.mjs +36 -0
  73. package/dist/lib/neutral/chunk-PRCRETDK.mjs.map +7 -0
  74. package/dist/lib/neutral/chunk-S4JXD2RO.mjs +318 -0
  75. package/dist/lib/neutral/chunk-S4JXD2RO.mjs.map +7 -0
  76. package/dist/lib/neutral/chunk-SVEGO3DJ.mjs +125 -0
  77. package/dist/lib/neutral/chunk-SVEGO3DJ.mjs.map +7 -0
  78. package/dist/lib/neutral/chunk-TRPZU2HV.mjs +402 -0
  79. package/dist/lib/neutral/chunk-TRPZU2HV.mjs.map +7 -0
  80. package/dist/lib/neutral/chunk-TTCSATUD.mjs +42 -0
  81. package/dist/lib/neutral/chunk-TTCSATUD.mjs.map +7 -0
  82. package/dist/lib/neutral/chunk-TTUIJXGD.mjs +132 -0
  83. package/dist/lib/neutral/chunk-TTUIJXGD.mjs.map +7 -0
  84. package/dist/lib/neutral/chunk-V72DY6LU.mjs +7 -0
  85. package/dist/lib/neutral/chunk-V72DY6LU.mjs.map +7 -0
  86. package/dist/lib/neutral/chunk-WGMPVUUL.mjs +81 -0
  87. package/dist/lib/neutral/chunk-WGMPVUUL.mjs.map +7 -0
  88. package/dist/lib/neutral/chunk-YDRLYZKW.mjs +27 -0
  89. package/dist/lib/neutral/chunk-YDRLYZKW.mjs.map +7 -0
  90. package/dist/lib/neutral/chunk-Z25FPDXG.mjs +734 -0
  91. package/dist/lib/neutral/chunk-Z25FPDXG.mjs.map +7 -0
  92. package/dist/lib/neutral/chunk-ZISMEVKD.mjs +51 -0
  93. package/dist/lib/neutral/chunk-ZISMEVKD.mjs.map +7 -0
  94. package/dist/lib/neutral/index.mjs +107 -0
  95. package/dist/lib/neutral/index.mjs.map +7 -0
  96. package/dist/lib/{node-esm → neutral}/internal/index.mjs +296 -148
  97. package/dist/lib/neutral/internal/index.mjs.map +7 -0
  98. package/dist/lib/neutral/meta.json +1 -0
  99. package/dist/lib/neutral/testing/index.mjs +375 -0
  100. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  101. package/dist/types/src/Annotation.d.ts +24 -0
  102. package/dist/types/src/Annotation.d.ts.map +1 -0
  103. package/dist/types/src/Collection.d.ts +16 -0
  104. package/dist/types/src/Collection.d.ts.map +1 -0
  105. package/dist/types/src/Database.d.ts +201 -0
  106. package/dist/types/src/Database.d.ts.map +1 -0
  107. package/dist/types/src/Dataset.d.ts +19 -0
  108. package/dist/types/src/Dataset.d.ts.map +1 -0
  109. package/dist/types/src/Entity.d.ts +174 -0
  110. package/dist/types/src/Entity.d.ts.map +1 -0
  111. package/dist/types/src/Entity.test.d.ts +2 -0
  112. package/dist/types/src/Entity.test.d.ts.map +1 -0
  113. package/dist/types/src/Err.d.ts +107 -0
  114. package/dist/types/src/Err.d.ts.map +1 -0
  115. package/dist/types/src/Extension.d.ts +80 -0
  116. package/dist/types/src/Extension.d.ts.map +1 -0
  117. package/dist/types/src/Extension.test.d.ts +2 -0
  118. package/dist/types/src/Extension.test.d.ts.map +1 -0
  119. package/dist/types/src/Feed.d.ts +182 -0
  120. package/dist/types/src/Feed.d.ts.map +1 -0
  121. package/dist/types/src/Filter.d.ts +149 -0
  122. package/dist/types/src/Filter.d.ts.map +1 -0
  123. package/dist/types/src/Filter.test.d.ts +2 -0
  124. package/dist/types/src/Filter.test.d.ts.map +1 -0
  125. package/dist/types/src/Format.d.ts +4 -0
  126. package/dist/types/src/Format.d.ts.map +1 -0
  127. package/dist/types/src/Hypergraph.d.ts +65 -0
  128. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  129. package/dist/types/src/Json.d.ts +33 -0
  130. package/dist/types/src/Json.d.ts.map +1 -0
  131. package/dist/types/src/Json.test.d.ts +2 -0
  132. package/dist/types/src/Json.test.d.ts.map +1 -0
  133. package/dist/types/src/JsonSchema.d.ts +16 -0
  134. package/dist/types/src/JsonSchema.d.ts.map +1 -0
  135. package/dist/types/src/Key.d.ts +1 -0
  136. package/dist/types/src/Key.d.ts.map +1 -1
  137. package/dist/types/src/Migration.d.ts +57 -0
  138. package/dist/types/src/Migration.d.ts.map +1 -0
  139. package/dist/types/src/Obj.d.ts +440 -96
  140. package/dist/types/src/Obj.d.ts.map +1 -1
  141. package/dist/types/src/Obj.test.d.ts +2 -0
  142. package/dist/types/src/Obj.test.d.ts.map +1 -0
  143. package/dist/types/src/Order.d.ts +16 -0
  144. package/dist/types/src/Order.d.ts.map +1 -0
  145. package/dist/types/src/Query.d.ts +213 -0
  146. package/dist/types/src/Query.d.ts.map +1 -0
  147. package/dist/types/src/Query.test.d.ts +2 -0
  148. package/dist/types/src/Query.test.d.ts.map +1 -0
  149. package/dist/types/src/QueryResult.d.ts +80 -0
  150. package/dist/types/src/QueryResult.d.ts.map +1 -0
  151. package/dist/types/src/Ref.d.ts +61 -11
  152. package/dist/types/src/Ref.d.ts.map +1 -1
  153. package/dist/types/src/Relation.d.ts +287 -21
  154. package/dist/types/src/Relation.d.ts.map +1 -1
  155. package/dist/types/src/Relation.test.d.ts +2 -0
  156. package/dist/types/src/Relation.test.d.ts.map +1 -0
  157. package/dist/types/src/SchemaRegistry.d.ts +84 -0
  158. package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
  159. package/dist/types/src/Tag.d.ts +18 -0
  160. package/dist/types/src/Tag.d.ts.map +1 -0
  161. package/dist/types/src/Type.d.ts +123 -99
  162. package/dist/types/src/Type.d.ts.map +1 -1
  163. package/dist/types/src/Type.test.d.ts +2 -0
  164. package/dist/types/src/Type.test.d.ts.map +1 -0
  165. package/dist/types/src/View.d.ts +68 -0
  166. package/dist/types/src/View.d.ts.map +1 -0
  167. package/dist/types/src/exemplars.test.d.ts +2 -0
  168. package/dist/types/src/exemplars.test.d.ts.map +1 -0
  169. package/dist/types/src/hierarchy.test.d.ts +2 -0
  170. package/dist/types/src/hierarchy.test.d.ts.map +1 -0
  171. package/dist/types/src/index.d.ts +22 -5
  172. package/dist/types/src/index.d.ts.map +1 -1
  173. package/dist/types/src/internal/Annotation/annotations.d.ts +231 -0
  174. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -0
  175. package/dist/types/src/internal/Annotation/annotations.test.d.ts.map +1 -0
  176. package/dist/types/src/internal/Annotation/index.d.ts +4 -0
  177. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -0
  178. package/dist/types/src/internal/Annotation/sorting.d.ts +24 -0
  179. package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -0
  180. package/dist/types/src/internal/Annotation/util.d.ts +39 -0
  181. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
  182. package/dist/types/src/internal/Entity/api.d.ts +13 -0
  183. package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
  184. package/dist/types/src/internal/Entity/entity.d.ts +20 -0
  185. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
  186. package/dist/types/src/internal/Entity/index.d.ts +8 -0
  187. package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
  188. package/dist/types/src/internal/Entity/model.d.ts +55 -0
  189. package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
  190. package/dist/types/src/internal/Entity/object.d.ts +18 -0
  191. package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
  192. package/dist/types/src/internal/Entity/relation.d.ts +35 -0
  193. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
  194. package/dist/types/src/internal/Entity/util.d.ts +2 -0
  195. package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
  196. package/dist/types/src/internal/Entity/version.d.ts +42 -0
  197. package/dist/types/src/internal/Entity/version.d.ts.map +1 -0
  198. package/dist/types/src/internal/Format/date.d.ts.map +1 -0
  199. package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
  200. package/dist/types/src/internal/{formats → Format}/format.d.ts +4 -2
  201. package/dist/types/src/internal/Format/format.d.ts.map +1 -0
  202. package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
  203. package/dist/types/src/internal/Format/index.d.ts.map +1 -0
  204. package/dist/types/src/internal/Format/number.d.ts.map +1 -0
  205. package/dist/types/src/internal/Format/object.d.ts.map +1 -0
  206. package/dist/types/src/internal/{formats → Format}/select.d.ts +6 -4
  207. package/dist/types/src/internal/Format/select.d.ts.map +1 -0
  208. package/dist/types/src/internal/{formats → Format}/string.d.ts +4 -0
  209. package/dist/types/src/internal/Format/string.d.ts.map +1 -0
  210. package/dist/types/src/internal/{formats → Format}/types.d.ts +14 -10
  211. package/dist/types/src/internal/Format/types.d.ts.map +1 -0
  212. package/dist/types/src/internal/{json → JsonSchema}/annotations.d.ts +1 -1
  213. package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
  214. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
  215. package/dist/types/src/internal/JsonSchema/index.d.ts +5 -0
  216. package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
  217. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
  218. package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-type.d.ts +131 -30
  219. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
  220. package/dist/types/src/internal/{json → JsonSchema}/json-schema.d.ts +5 -7
  221. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
  222. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts.map +1 -0
  223. package/dist/types/src/internal/Obj/clone.d.ts +8 -0
  224. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
  225. package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
  226. package/dist/types/src/internal/{object/create.d.ts → Obj/create-object.d.ts} +10 -11
  227. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -0
  228. package/dist/types/src/internal/Obj/create-object.test.d.ts +2 -0
  229. package/dist/types/src/internal/Obj/create-object.test.d.ts.map +1 -0
  230. package/dist/types/src/internal/Obj/deleted.d.ts +6 -0
  231. package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -0
  232. package/dist/types/src/internal/Obj/ids.d.ts.map +1 -0
  233. package/dist/types/src/internal/Obj/index.d.ts +11 -0
  234. package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
  235. package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
  236. package/dist/types/src/internal/Obj/json-serializer.d.ts +45 -0
  237. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
  238. package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
  239. package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
  240. package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
  241. package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
  242. package/dist/types/src/internal/Obj/set-value.d.ts +7 -0
  243. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
  244. package/dist/types/src/internal/Obj/set-value.test.d.ts +2 -0
  245. package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
  246. package/dist/types/src/internal/Obj/snapshot.d.ts +6 -0
  247. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
  248. package/dist/types/src/internal/Obj/typed-object.d.ts +25 -0
  249. package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
  250. package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
  251. package/dist/types/src/internal/Query.d.ts +10 -0
  252. package/dist/types/src/internal/Query.d.ts.map +1 -0
  253. package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
  254. package/dist/types/src/internal/{ref → Ref}/ref-array.d.ts +4 -4
  255. package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
  256. package/dist/types/src/internal/{ref → Ref}/ref.d.ts +57 -19
  257. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
  258. package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
  259. package/dist/types/src/internal/Type/compose.d.ts +7 -0
  260. package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
  261. package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
  262. package/dist/types/src/internal/{schema → Type}/echo-schema.d.ts +27 -14
  263. package/dist/types/src/internal/Type/echo-schema.d.ts.map +1 -0
  264. package/dist/types/src/internal/Type/index.d.ts +4 -0
  265. package/dist/types/src/internal/Type/index.d.ts.map +1 -0
  266. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
  267. package/dist/types/src/internal/Type/persistent-schema.d.ts +20 -0
  268. package/dist/types/src/internal/Type/persistent-schema.d.ts.map +1 -0
  269. package/dist/types/src/internal/common/api/index.d.ts +11 -0
  270. package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
  271. package/dist/types/src/internal/common/api/meta.d.ts +42 -0
  272. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -0
  273. package/dist/types/src/internal/common/index.d.ts +4 -0
  274. package/dist/types/src/internal/common/index.d.ts.map +1 -0
  275. package/dist/types/src/internal/common/proxy/change-context.d.ts +55 -0
  276. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -0
  277. package/dist/types/src/internal/common/proxy/change.test.d.ts +2 -0
  278. package/dist/types/src/internal/common/proxy/change.test.d.ts.map +1 -0
  279. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts +5 -0
  280. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -0
  281. package/dist/types/src/internal/common/proxy/errors.d.ts +19 -0
  282. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -0
  283. package/dist/types/src/internal/common/proxy/event-batch.d.ts +10 -0
  284. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -0
  285. package/dist/types/src/internal/common/proxy/handler.test.d.ts.map +1 -0
  286. package/dist/types/src/internal/common/proxy/index.d.ts +14 -0
  287. package/dist/types/src/internal/common/proxy/index.d.ts.map +1 -0
  288. package/dist/types/src/internal/common/proxy/json-serializer.d.ts +6 -0
  289. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -0
  290. package/dist/types/src/internal/common/proxy/make-object.d.ts +14 -0
  291. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -0
  292. package/dist/types/src/internal/common/proxy/ownership.d.ts +57 -0
  293. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -0
  294. package/dist/types/src/internal/common/proxy/proxy-types.d.ts +18 -0
  295. package/dist/types/src/internal/common/proxy/proxy-types.d.ts.map +1 -0
  296. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts +47 -0
  297. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -0
  298. package/dist/types/src/internal/common/proxy/reactive-array.d.ts +8 -0
  299. package/dist/types/src/internal/common/proxy/reactive-array.d.ts.map +1 -0
  300. package/dist/types/src/internal/common/proxy/reactive.d.ts +39 -0
  301. package/dist/types/src/internal/common/proxy/reactive.d.ts.map +1 -0
  302. package/dist/types/src/internal/common/proxy/reactive.test.d.ts +2 -0
  303. package/dist/types/src/internal/common/proxy/reactive.test.d.ts.map +1 -0
  304. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -0
  305. package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
  306. package/dist/types/src/internal/common/proxy/symbols.d.ts +3 -0
  307. package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
  308. package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.d.ts +16 -12
  309. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
  310. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
  311. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
  312. package/dist/types/src/internal/common/types/base.d.ts +27 -0
  313. package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
  314. package/dist/types/src/internal/common/types/entity.d.ts +37 -0
  315. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
  316. package/dist/types/src/internal/common/types/index.d.ts +7 -0
  317. package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
  318. package/dist/types/src/internal/{object → common/types}/meta.d.ts +18 -16
  319. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -0
  320. package/dist/types/src/internal/common/types/model-symbols.d.ts +54 -0
  321. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -0
  322. package/dist/types/src/internal/common/types/typename.d.ts +21 -0
  323. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
  324. package/dist/types/src/internal/common/types/version.d.ts +15 -0
  325. package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
  326. package/dist/types/src/internal/index.d.ts +10 -14
  327. package/dist/types/src/internal/index.d.ts.map +1 -1
  328. package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
  329. package/dist/types/src/testing/index.d.ts +3 -3
  330. package/dist/types/src/testing/index.d.ts.map +1 -1
  331. package/dist/types/src/testing/test-data.d.ts +18 -0
  332. package/dist/types/src/testing/test-data.d.ts.map +1 -0
  333. package/dist/types/src/testing/test-schema.d.ts +304 -0
  334. package/dist/types/src/testing/test-schema.d.ts.map +1 -0
  335. package/dist/types/src/testing/util.d.ts +21 -0
  336. package/dist/types/src/testing/util.d.ts.map +1 -0
  337. package/dist/types/tsconfig.tsbuildinfo +1 -1
  338. package/package.json +116 -65
  339. package/src/Annotation.ts +48 -0
  340. package/src/Collection.ts +37 -0
  341. package/src/Database.ts +352 -0
  342. package/src/Dataset.ts +26 -0
  343. package/src/Entity.test.ts +22 -0
  344. package/src/Entity.ts +243 -0
  345. package/src/Err.ts +40 -0
  346. package/src/Extension.test.ts +235 -0
  347. package/src/Extension.ts +122 -0
  348. package/src/Feed.ts +304 -0
  349. package/src/Filter.test.ts +90 -0
  350. package/src/Filter.ts +454 -0
  351. package/src/Format.ts +9 -0
  352. package/src/Hypergraph.ts +79 -0
  353. package/src/Json.test.ts +175 -0
  354. package/src/Json.ts +102 -0
  355. package/src/JsonSchema.ts +26 -0
  356. package/src/Key.ts +3 -0
  357. package/src/Migration.ts +94 -0
  358. package/src/Obj.test.ts +539 -0
  359. package/src/Obj.ts +709 -243
  360. package/src/Order.ts +46 -0
  361. package/src/Query.test.ts +822 -0
  362. package/src/Query.ts +567 -0
  363. package/src/QueryResult.ts +106 -0
  364. package/src/Ref.ts +79 -9
  365. package/src/Relation.test.ts +88 -0
  366. package/src/Relation.ts +449 -60
  367. package/src/SchemaRegistry.ts +106 -0
  368. package/src/Tag.ts +41 -0
  369. package/src/Type.test.ts +52 -0
  370. package/src/Type.ts +167 -153
  371. package/src/View.ts +107 -0
  372. package/src/exemplars.test.ts +21 -0
  373. package/src/hierarchy.test.ts +33 -0
  374. package/src/index.ts +24 -6
  375. package/src/internal/Annotation/annotations.test.ts +145 -0
  376. package/src/internal/Annotation/annotations.ts +577 -0
  377. package/src/internal/Annotation/index.ts +7 -0
  378. package/src/internal/Annotation/sorting.ts +51 -0
  379. package/src/internal/Annotation/util.ts +85 -0
  380. package/src/internal/Entity/api.ts +30 -0
  381. package/src/internal/Entity/entity.ts +128 -0
  382. package/src/internal/Entity/index.ts +11 -0
  383. package/src/internal/Entity/model.ts +109 -0
  384. package/src/internal/Entity/object.ts +57 -0
  385. package/src/internal/Entity/relation.ts +154 -0
  386. package/src/internal/Entity/util.ts +33 -0
  387. package/src/internal/Entity/version.ts +96 -0
  388. package/src/internal/{formats → Format}/date.test.ts +1 -2
  389. package/src/internal/{formats → Format}/date.ts +5 -5
  390. package/src/internal/{formats → Format}/format.test.ts +6 -7
  391. package/src/internal/{formats → Format}/format.ts +8 -6
  392. package/src/internal/{formats → Format}/number.ts +5 -5
  393. package/src/internal/{formats → Format}/object.ts +4 -4
  394. package/src/internal/{formats → Format}/select.ts +6 -4
  395. package/src/internal/{formats → Format}/string.ts +14 -9
  396. package/src/internal/{formats → Format}/types.ts +54 -43
  397. package/src/internal/{json → JsonSchema}/annotations.ts +3 -3
  398. package/src/internal/{json-schema → JsonSchema}/index.ts +2 -0
  399. package/src/internal/{json-schema → JsonSchema}/json-schema-normalize.ts +4 -2
  400. package/src/internal/{json-schema → JsonSchema}/json-schema-type.ts +36 -36
  401. package/src/internal/{json → JsonSchema}/json-schema.test.ts +243 -109
  402. package/src/internal/{json → JsonSchema}/json-schema.ts +78 -93
  403. package/src/internal/Obj/clone.ts +48 -0
  404. package/src/internal/{object → Obj}/common.ts +3 -4
  405. package/src/internal/{object/create.test.ts → Obj/create-object.test.ts} +32 -36
  406. package/src/internal/{object/create.ts → Obj/create-object.ts} +35 -37
  407. package/src/internal/Obj/deleted.ts +19 -0
  408. package/src/internal/{object → Obj}/ids.ts +1 -1
  409. package/src/internal/Obj/index.ts +14 -0
  410. package/src/internal/{object → Obj}/inspect.ts +5 -7
  411. package/src/internal/Obj/json-serializer.test.ts +120 -0
  412. package/src/internal/{object → Obj}/json-serializer.ts +106 -109
  413. package/src/internal/{object → Obj}/schema-validator.test.ts +3 -7
  414. package/src/internal/Obj/schema-validator.ts +6 -0
  415. package/src/internal/Obj/set-value.test.ts +281 -0
  416. package/src/internal/Obj/set-value.ts +165 -0
  417. package/src/internal/Obj/snapshot.ts +105 -0
  418. package/src/internal/{object → Obj}/typed-object.test.ts +12 -12
  419. package/src/internal/Obj/typed-object.ts +30 -0
  420. package/src/internal/Query.ts +137 -0
  421. package/src/internal/{ref → Ref}/ref-array.ts +4 -5
  422. package/src/internal/{ref → Ref}/ref.test.ts +11 -11
  423. package/src/internal/{ref → Ref}/ref.ts +125 -57
  424. package/src/internal/{projection → Type}/compose.test.ts +8 -10
  425. package/src/internal/{projection → Type}/compose.ts +14 -9
  426. package/src/internal/{schema → Type}/echo-schema.ts +74 -34
  427. package/src/internal/Type/index.ts +7 -0
  428. package/src/internal/{schema → Type}/manipulation.ts +7 -1
  429. package/src/internal/Type/persistent-schema.ts +33 -0
  430. package/src/internal/common/README.md +102 -0
  431. package/src/internal/common/api/index.ts +15 -0
  432. package/src/internal/common/api/meta.ts +88 -0
  433. package/src/internal/{testing → common}/index.ts +2 -1
  434. package/src/internal/common/proxy/change-context.ts +138 -0
  435. package/src/internal/common/proxy/change.test.ts +519 -0
  436. package/src/internal/common/proxy/define-hidden-property.ts +14 -0
  437. package/src/internal/common/proxy/errors.ts +42 -0
  438. package/src/internal/common/proxy/event-batch.ts +44 -0
  439. package/src/internal/common/proxy/handler.test.ts +121 -0
  440. package/src/internal/common/proxy/index.ts +17 -0
  441. package/src/internal/common/proxy/json-serializer.ts +90 -0
  442. package/src/internal/common/proxy/make-object.ts +105 -0
  443. package/src/internal/common/proxy/ownership.ts +252 -0
  444. package/src/internal/common/proxy/proxy-types.ts +23 -0
  445. package/src/internal/common/proxy/proxy-utils.ts +150 -0
  446. package/src/internal/common/proxy/reactive-array.ts +71 -0
  447. package/src/internal/common/proxy/reactive.test.ts +54 -0
  448. package/src/internal/common/proxy/reactive.ts +77 -0
  449. package/src/internal/{object → common/proxy}/schema-validator.ts +6 -3
  450. package/src/internal/{proxy → common/proxy}/schema.test.ts +31 -22
  451. package/src/internal/common/proxy/symbols.ts +7 -0
  452. package/src/internal/common/proxy/typed-handler.test.ts +313 -0
  453. package/src/internal/common/proxy/typed-handler.ts +447 -0
  454. package/src/internal/common/proxy/typed-object.test.ts +115 -0
  455. package/src/internal/common/types/base.ts +43 -0
  456. package/src/internal/common/types/entity.ts +54 -0
  457. package/src/internal/common/types/index.ts +10 -0
  458. package/src/internal/common/types/meta.ts +67 -0
  459. package/src/internal/common/types/model-symbols.ts +69 -0
  460. package/src/internal/common/types/typename.ts +55 -0
  461. package/src/internal/common/types/version.ts +19 -0
  462. package/src/internal/index.ts +12 -17
  463. package/src/testing/api.test.ts +125 -0
  464. package/src/testing/index.ts +3 -3
  465. package/src/testing/test-data.ts +129 -0
  466. package/src/testing/test-schema.ts +240 -0
  467. package/src/testing/util.ts +85 -0
  468. package/dist/lib/browser/chunk-MWLA34S5.mjs +0 -3843
  469. package/dist/lib/browser/chunk-MWLA34S5.mjs.map +0 -7
  470. package/dist/lib/browser/chunk-OAZJQHVO.mjs +0 -453
  471. package/dist/lib/browser/chunk-OAZJQHVO.mjs.map +0 -7
  472. package/dist/lib/browser/chunk-ORIE2FMS.mjs +0 -514
  473. package/dist/lib/browser/chunk-ORIE2FMS.mjs.map +0 -7
  474. package/dist/lib/browser/index.mjs +0 -43
  475. package/dist/lib/browser/internal/index.mjs +0 -326
  476. package/dist/lib/browser/meta.json +0 -1
  477. package/dist/lib/browser/query/index.mjs +0 -23
  478. package/dist/lib/browser/testing/index.mjs +0 -298
  479. package/dist/lib/browser/testing/index.mjs.map +0 -7
  480. package/dist/lib/node-esm/chunk-AXWVDOP7.mjs +0 -453
  481. package/dist/lib/node-esm/chunk-AXWVDOP7.mjs.map +0 -7
  482. package/dist/lib/node-esm/chunk-L4PBAJDP.mjs +0 -514
  483. package/dist/lib/node-esm/chunk-L4PBAJDP.mjs.map +0 -7
  484. package/dist/lib/node-esm/chunk-YTNLFBIK.mjs +0 -3843
  485. package/dist/lib/node-esm/chunk-YTNLFBIK.mjs.map +0 -7
  486. package/dist/lib/node-esm/index.mjs +0 -43
  487. package/dist/lib/node-esm/meta.json +0 -1
  488. package/dist/lib/node-esm/query/index.mjs +0 -23
  489. package/dist/lib/node-esm/testing/index.mjs +0 -298
  490. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  491. package/dist/types/src/errors.d.ts +0 -72
  492. package/dist/types/src/errors.d.ts.map +0 -1
  493. package/dist/types/src/internal/ast/annotation-helper.d.ts +0 -8
  494. package/dist/types/src/internal/ast/annotation-helper.d.ts.map +0 -1
  495. package/dist/types/src/internal/ast/annotations.d.ts +0 -119
  496. package/dist/types/src/internal/ast/annotations.d.ts.map +0 -1
  497. package/dist/types/src/internal/ast/annotations.test.d.ts.map +0 -1
  498. package/dist/types/src/internal/ast/entity-kind.d.ts +0 -10
  499. package/dist/types/src/internal/ast/entity-kind.d.ts.map +0 -1
  500. package/dist/types/src/internal/ast/index.d.ts +0 -5
  501. package/dist/types/src/internal/ast/index.d.ts.map +0 -1
  502. package/dist/types/src/internal/ast/types.d.ts +0 -6
  503. package/dist/types/src/internal/ast/types.d.ts.map +0 -1
  504. package/dist/types/src/internal/formats/date.d.ts.map +0 -1
  505. package/dist/types/src/internal/formats/date.test.d.ts.map +0 -1
  506. package/dist/types/src/internal/formats/format.d.ts.map +0 -1
  507. package/dist/types/src/internal/formats/format.test.d.ts.map +0 -1
  508. package/dist/types/src/internal/formats/index.d.ts.map +0 -1
  509. package/dist/types/src/internal/formats/number.d.ts.map +0 -1
  510. package/dist/types/src/internal/formats/object.d.ts.map +0 -1
  511. package/dist/types/src/internal/formats/select.d.ts.map +0 -1
  512. package/dist/types/src/internal/formats/string.d.ts.map +0 -1
  513. package/dist/types/src/internal/formats/types.d.ts.map +0 -1
  514. package/dist/types/src/internal/json/annotations.d.ts.map +0 -1
  515. package/dist/types/src/internal/json/effect-schema.test.d.ts.map +0 -1
  516. package/dist/types/src/internal/json/index.d.ts +0 -2
  517. package/dist/types/src/internal/json/index.d.ts.map +0 -1
  518. package/dist/types/src/internal/json/json-schema.d.ts.map +0 -1
  519. package/dist/types/src/internal/json/json-schema.test.d.ts.map +0 -1
  520. package/dist/types/src/internal/json-schema/index.d.ts +0 -3
  521. package/dist/types/src/internal/json-schema/index.d.ts.map +0 -1
  522. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +0 -1
  523. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +0 -1
  524. package/dist/types/src/internal/object/accessors.d.ts +0 -29
  525. package/dist/types/src/internal/object/accessors.d.ts.map +0 -1
  526. package/dist/types/src/internal/object/common.d.ts.map +0 -1
  527. package/dist/types/src/internal/object/create.d.ts.map +0 -1
  528. package/dist/types/src/internal/object/create.test.d.ts +0 -2
  529. package/dist/types/src/internal/object/create.test.d.ts.map +0 -1
  530. package/dist/types/src/internal/object/deleted.d.ts +0 -6
  531. package/dist/types/src/internal/object/deleted.d.ts.map +0 -1
  532. package/dist/types/src/internal/object/entity.d.ts +0 -22
  533. package/dist/types/src/internal/object/entity.d.ts.map +0 -1
  534. package/dist/types/src/internal/object/expando.d.ts +0 -14
  535. package/dist/types/src/internal/object/expando.d.ts.map +0 -1
  536. package/dist/types/src/internal/object/ids.d.ts.map +0 -1
  537. package/dist/types/src/internal/object/index.d.ts +0 -17
  538. package/dist/types/src/internal/object/index.d.ts.map +0 -1
  539. package/dist/types/src/internal/object/inspect.d.ts.map +0 -1
  540. package/dist/types/src/internal/object/json-serializer.d.ts +0 -32
  541. package/dist/types/src/internal/object/json-serializer.d.ts.map +0 -1
  542. package/dist/types/src/internal/object/json-serializer.test.d.ts.map +0 -1
  543. package/dist/types/src/internal/object/meta.d.ts.map +0 -1
  544. package/dist/types/src/internal/object/model.d.ts +0 -117
  545. package/dist/types/src/internal/object/model.d.ts.map +0 -1
  546. package/dist/types/src/internal/object/relation.d.ts +0 -17
  547. package/dist/types/src/internal/object/relation.d.ts.map +0 -1
  548. package/dist/types/src/internal/object/schema-validator.d.ts.map +0 -1
  549. package/dist/types/src/internal/object/schema-validator.test.d.ts.map +0 -1
  550. package/dist/types/src/internal/object/typed-object.d.ts +0 -31
  551. package/dist/types/src/internal/object/typed-object.d.ts.map +0 -1
  552. package/dist/types/src/internal/object/typed-object.test.d.ts.map +0 -1
  553. package/dist/types/src/internal/object/typed-relation.d.ts +0 -32
  554. package/dist/types/src/internal/object/typed-relation.d.ts.map +0 -1
  555. package/dist/types/src/internal/object/typename.d.ts +0 -15
  556. package/dist/types/src/internal/object/typename.d.ts.map +0 -1
  557. package/dist/types/src/internal/object/version.d.ts +0 -14
  558. package/dist/types/src/internal/object/version.d.ts.map +0 -1
  559. package/dist/types/src/internal/projection/compose.d.ts +0 -6
  560. package/dist/types/src/internal/projection/compose.d.ts.map +0 -1
  561. package/dist/types/src/internal/projection/compose.test.d.ts.map +0 -1
  562. package/dist/types/src/internal/projection/index.d.ts +0 -2
  563. package/dist/types/src/internal/projection/index.d.ts.map +0 -1
  564. package/dist/types/src/internal/proxy/handler.test.d.ts.map +0 -1
  565. package/dist/types/src/internal/proxy/reactive-object.d.ts +0 -15
  566. package/dist/types/src/internal/proxy/reactive-object.d.ts.map +0 -1
  567. package/dist/types/src/internal/proxy/schema.test.d.ts.map +0 -1
  568. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +0 -1
  569. package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +0 -1
  570. package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +0 -1
  571. package/dist/types/src/internal/query/index.d.ts +0 -2
  572. package/dist/types/src/internal/query/index.d.ts.map +0 -1
  573. package/dist/types/src/internal/query/query.d.ts +0 -17
  574. package/dist/types/src/internal/query/query.d.ts.map +0 -1
  575. package/dist/types/src/internal/ref/index.d.ts.map +0 -1
  576. package/dist/types/src/internal/ref/ref-array.d.ts.map +0 -1
  577. package/dist/types/src/internal/ref/ref.d.ts.map +0 -1
  578. package/dist/types/src/internal/ref/ref.test.d.ts.map +0 -1
  579. package/dist/types/src/internal/schema/echo-schema.d.ts.map +0 -1
  580. package/dist/types/src/internal/schema/index.d.ts +0 -7
  581. package/dist/types/src/internal/schema/index.d.ts.map +0 -1
  582. package/dist/types/src/internal/schema/manipulation.d.ts.map +0 -1
  583. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +0 -18
  584. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +0 -1
  585. package/dist/types/src/internal/schema/snapshot.d.ts +0 -6
  586. package/dist/types/src/internal/schema/snapshot.d.ts.map +0 -1
  587. package/dist/types/src/internal/schema/stored-schema.d.ts +0 -13
  588. package/dist/types/src/internal/schema/stored-schema.d.ts.map +0 -1
  589. package/dist/types/src/internal/testing/index.d.ts +0 -3
  590. package/dist/types/src/internal/testing/index.d.ts.map +0 -1
  591. package/dist/types/src/internal/testing/types.d.ts +0 -455
  592. package/dist/types/src/internal/testing/types.d.ts.map +0 -1
  593. package/dist/types/src/internal/testing/utils.d.ts +0 -10
  594. package/dist/types/src/internal/testing/utils.d.ts.map +0 -1
  595. package/dist/types/src/internal/types/index.d.ts +0 -3
  596. package/dist/types/src/internal/types/index.d.ts.map +0 -1
  597. package/dist/types/src/internal/types/types.d.ts +0 -79
  598. package/dist/types/src/internal/types/types.d.ts.map +0 -1
  599. package/dist/types/src/internal/types/types.test.d.ts +0 -2
  600. package/dist/types/src/internal/types/types.test.d.ts.map +0 -1
  601. package/dist/types/src/internal/types/util.d.ts +0 -5
  602. package/dist/types/src/internal/types/util.d.ts.map +0 -1
  603. package/dist/types/src/query/index.d.ts +0 -3
  604. package/dist/types/src/query/index.d.ts.map +0 -1
  605. package/dist/types/src/query/query.d.ts +0 -247
  606. package/dist/types/src/query/query.d.ts.map +0 -1
  607. package/dist/types/src/query/query.test.d.ts +0 -2
  608. package/dist/types/src/query/query.test.d.ts.map +0 -1
  609. package/dist/types/src/query/tag.d.ts +0 -18
  610. package/dist/types/src/query/tag.d.ts.map +0 -1
  611. package/dist/types/src/testing/echo-schema.d.ts +0 -7
  612. package/dist/types/src/testing/echo-schema.d.ts.map +0 -1
  613. package/dist/types/src/testing/types.d.ts +0 -113
  614. package/dist/types/src/testing/types.d.ts.map +0 -1
  615. package/src/errors.ts +0 -18
  616. package/src/internal/ast/annotation-helper.ts +0 -22
  617. package/src/internal/ast/annotations.test.ts +0 -98
  618. package/src/internal/ast/annotations.ts +0 -212
  619. package/src/internal/ast/entity-kind.ts +0 -15
  620. package/src/internal/ast/index.ts +0 -8
  621. package/src/internal/ast/types.ts +0 -17
  622. package/src/internal/json/index.ts +0 -5
  623. package/src/internal/object/accessors.ts +0 -115
  624. package/src/internal/object/deleted.ts +0 -19
  625. package/src/internal/object/entity.ts +0 -204
  626. package/src/internal/object/expando.ts +0 -21
  627. package/src/internal/object/index.ts +0 -20
  628. package/src/internal/object/json-serializer.test.ts +0 -99
  629. package/src/internal/object/meta.ts +0 -62
  630. package/src/internal/object/model.ts +0 -170
  631. package/src/internal/object/relation.ts +0 -24
  632. package/src/internal/object/typed-object.ts +0 -81
  633. package/src/internal/object/typed-relation.ts +0 -85
  634. package/src/internal/object/typename.ts +0 -61
  635. package/src/internal/object/version.ts +0 -22
  636. package/src/internal/projection/index.ts +0 -5
  637. package/src/internal/proxy/handler.test.ts +0 -163
  638. package/src/internal/proxy/reactive-object.ts +0 -108
  639. package/src/internal/proxy/typed-handler.test.ts +0 -102
  640. package/src/internal/proxy/typed-handler.ts +0 -228
  641. package/src/internal/proxy/typed-object.test.ts +0 -100
  642. package/src/internal/query/index.ts +0 -5
  643. package/src/internal/query/query.ts +0 -23
  644. package/src/internal/schema/index.ts +0 -10
  645. package/src/internal/schema/runtime-schema-registry.ts +0 -78
  646. package/src/internal/schema/snapshot.ts +0 -25
  647. package/src/internal/schema/stored-schema.ts +0 -26
  648. package/src/internal/testing/types.ts +0 -211
  649. package/src/internal/testing/utils.ts +0 -54
  650. package/src/internal/types/index.ts +0 -6
  651. package/src/internal/types/types.test.ts +0 -48
  652. package/src/internal/types/types.ts +0 -176
  653. package/src/internal/types/util.ts +0 -9
  654. package/src/query/index.ts +0 -6
  655. package/src/query/query.test.ts +0 -362
  656. package/src/query/query.ts +0 -784
  657. package/src/query/tag.ts +0 -35
  658. package/src/test/api.test.ts +0 -180
  659. package/src/testing/echo-schema.ts +0 -39
  660. package/src/testing/types.ts +0 -91
  661. /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
  662. /package/dist/lib/{browser/internal/index.mjs.map → neutral/Database.mjs.map} +0 -0
  663. /package/dist/lib/{browser/query/index.mjs.map → neutral/Entity.mjs.map} +0 -0
  664. /package/dist/lib/{node-esm/index.mjs.map → neutral/Err.mjs.map} +0 -0
  665. /package/dist/lib/{node-esm/internal/index.mjs.map → neutral/Extension.mjs.map} +0 -0
  666. /package/dist/lib/{node-esm/query/index.mjs.map → neutral/Feed.mjs.map} +0 -0
  667. /package/dist/types/src/internal/{ast → Annotation}/annotations.test.d.ts +0 -0
  668. /package/dist/types/src/internal/{formats → Format}/date.d.ts +0 -0
  669. /package/dist/types/src/internal/{formats → Format}/date.test.d.ts +0 -0
  670. /package/dist/types/src/internal/{formats → Format}/format.test.d.ts +0 -0
  671. /package/dist/types/src/internal/{formats → Format}/index.d.ts +0 -0
  672. /package/dist/types/src/internal/{formats → Format}/number.d.ts +0 -0
  673. /package/dist/types/src/internal/{formats → Format}/object.d.ts +0 -0
  674. /package/dist/types/src/internal/{json → JsonSchema}/effect-schema.test.d.ts +0 -0
  675. /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-normalize.d.ts +0 -0
  676. /package/dist/types/src/internal/{json → JsonSchema}/json-schema.test.d.ts +0 -0
  677. /package/dist/types/src/internal/{object → Obj}/common.d.ts +0 -0
  678. /package/dist/types/src/internal/{object → Obj}/ids.d.ts +0 -0
  679. /package/dist/types/src/internal/{object → Obj}/inspect.d.ts +0 -0
  680. /package/dist/types/src/internal/{object → Obj}/json-serializer.test.d.ts +0 -0
  681. /package/dist/types/src/internal/{object → Obj}/schema-validator.test.d.ts +0 -0
  682. /package/dist/types/src/internal/{object → Obj}/typed-object.test.d.ts +0 -0
  683. /package/dist/types/src/internal/{ref → Ref}/index.d.ts +0 -0
  684. /package/dist/types/src/internal/{ref → Ref}/ref.test.d.ts +0 -0
  685. /package/dist/types/src/internal/{projection → Type}/compose.test.d.ts +0 -0
  686. /package/dist/types/src/internal/{schema → Type}/manipulation.d.ts +0 -0
  687. /package/dist/types/src/internal/{proxy → common/proxy}/handler.test.d.ts +0 -0
  688. /package/dist/types/src/internal/{object → common/proxy}/schema-validator.d.ts +0 -0
  689. /package/dist/types/src/internal/{proxy → common/proxy}/schema.test.d.ts +0 -0
  690. /package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.test.d.ts +0 -0
  691. /package/dist/types/src/internal/{proxy → common/proxy}/typed-object.test.d.ts +0 -0
  692. /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
  693. /package/src/internal/{formats → Format}/index.ts +0 -0
  694. /package/src/internal/{json → JsonSchema}/effect-schema.test.ts +0 -0
  695. /package/src/internal/{ref → Ref}/index.ts +0 -0
@@ -1,99 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { describe, expect, test } from 'vitest';
6
-
7
- import { DXN } from '@dxos/keys';
8
-
9
- import { EntityKind, getSchemaDXN, getSchemaTypename } from '../ast';
10
- import { Ref, StaticRefResolver } from '../ref';
11
- import { Testing } from '../testing';
12
-
13
- import { getObjectDXN, getSchema } from './accessors';
14
- import { create } from './create';
15
- import { objectFromJSON, objectToJSON } from './json-serializer';
16
- import { getMeta } from './meta';
17
- import { ATTR_TYPE, EntityKindId, MetaId, RelationSourceId, RelationTargetId, TypeId } from './model';
18
- import { getType, getTypename } from './typename';
19
-
20
- describe('Object JSON serializer', () => {
21
- test('should serialize and deserialize object', async () => {
22
- const contact = create(Testing.Contact, {
23
- name: 'John Doe',
24
- });
25
- getMeta(contact).keys.push({ id: '12345', source: 'crm.example.com' });
26
-
27
- const task = create(Testing.Task, {
28
- title: 'Polish my shoes',
29
- assignee: Ref.make(contact),
30
- });
31
-
32
- const contactJson = objectToJSON(contact);
33
- const taskJson = objectToJSON(task);
34
-
35
- expect(contactJson.id).toBe(contact.id);
36
- expect(contactJson[ATTR_TYPE]).toEqual(getSchemaDXN(Testing.Contact)!.toString());
37
- expect(contactJson.name).toEqual('John Doe');
38
-
39
- expect(taskJson.id).toBe(task.id);
40
- expect(taskJson[ATTR_TYPE]).toEqual(getSchemaDXN(Testing.Task)!.toString());
41
- expect(taskJson.title).toEqual('Polish my shoes');
42
- expect(taskJson.assignee).toEqual({ '/': DXN.fromLocalObjectId(contact.id).toString() });
43
-
44
- const refResolver = new StaticRefResolver()
45
- .addSchema(Testing.Contact)
46
- .addSchema(Testing.Task)
47
- .addObject(contact)
48
- .addObject(task);
49
-
50
- const contactFromJson = (await objectFromJSON(contactJson, { refResolver })) as Testing.Contact;
51
- const taskFromJson = (await objectFromJSON(taskJson, { refResolver })) as Testing.Task;
52
-
53
- expect(contactFromJson.id).toBe(contact.id);
54
- expect(contactFromJson.name).toBe('John Doe');
55
- expect((contactFromJson as any)[TypeId]).toEqual(getSchemaDXN(Testing.Contact));
56
- expect((contactFromJson as any)[EntityKindId]).toBe(EntityKind.Object);
57
- expect((contactFromJson as any)[RelationSourceId]).toBeUndefined();
58
- expect((contactFromJson as any)[RelationTargetId]).toBeUndefined();
59
- expect((contactFromJson as any)[MetaId]).toEqual({
60
- keys: [
61
- {
62
- id: '12345',
63
- source: 'crm.example.com',
64
- },
65
- ],
66
- });
67
- expect(getType(contactFromJson)?.toString()).toBe(getSchemaDXN(Testing.Contact)!.toString());
68
- expect(getTypename(contactFromJson)).toBe(getSchemaTypename(Testing.Contact));
69
- expect(getObjectDXN(contactFromJson)?.toString()).toEqual(getObjectDXN(contact)?.toString());
70
- expect(getSchema(contactFromJson)).toEqual(Testing.Contact);
71
-
72
- expect(taskFromJson.id).toBe(task.id);
73
- expect(taskFromJson.title).toBe('Polish my shoes');
74
- expect(taskFromJson.assignee!.dxn).toEqual(DXN.fromLocalObjectId(contact.id));
75
- expect(taskFromJson.assignee!.target).toEqual(contact);
76
- expect(await taskFromJson.assignee!.load()).toEqual(contact);
77
- expect((taskFromJson as any)[TypeId]).toEqual(getSchemaDXN(Testing.Task));
78
- expect((taskFromJson as any)[EntityKindId]).toBe(EntityKind.Object);
79
- expect((taskFromJson as any)[RelationSourceId]).toBeUndefined();
80
- expect((taskFromJson as any)[RelationTargetId]).toBeUndefined();
81
- expect((taskFromJson as any)[MetaId]).toEqual({ keys: [] });
82
- expect(getSchema(taskFromJson)).toEqual(Testing.Task);
83
- });
84
-
85
- test('serialize with unresolved schema', async () => {
86
- const contact = create(Testing.Contact, {
87
- name: 'John Doe',
88
- });
89
- const contactJson = objectToJSON(contact);
90
- const contactFromJson: any = await objectFromJSON(contactJson);
91
-
92
- expect(contactFromJson.id).toBe(contact.id);
93
- expect(contactFromJson.name).toBe('John Doe');
94
- expect(getSchema(contactFromJson)).toBeUndefined();
95
- expect(getTypename(contactFromJson)).toEqual(getSchemaTypename(Testing.Contact));
96
- expect(getObjectDXN(contactFromJson)).toEqual(getObjectDXN(contact));
97
- expect(getType(contactFromJson)).toEqual(getSchemaDXN(Testing.Contact));
98
- });
99
- });
@@ -1,62 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import * as Schema from 'effect/Schema';
6
-
7
- import { ForeignKey } from '@dxos/echo-protocol';
8
- import { invariant } from '@dxos/invariant';
9
- import { type Comparator, intersection } from '@dxos/util';
10
-
11
- import { type BaseObject } from '../types';
12
-
13
- import { MetaId } from './model';
14
-
15
- //
16
- // ObjectMeta
17
- //
18
-
19
- // TODO(dmaretskyi): Rename to ObjectMeta
20
- export const ObjectMetaSchema = Schema.mutable(
21
- Schema.Struct({
22
- keys: Schema.mutable(Schema.Array(ForeignKey)),
23
-
24
- /**
25
- * A set of tags.
26
- * Tags are arbitrary application-defined strings.
27
- * ECHO makes no assumptions about the tag structure.
28
- */
29
- // TODO(dmaretskyi): Has to be optional for compatibility with old data.
30
- // Defaulting to an empty array is possible but requires a bit more work.
31
- tags: Schema.optional(Schema.mutable(Schema.Array(Schema.String))),
32
- }),
33
- );
34
-
35
- export type ObjectMeta = Schema.Schema.Type<typeof ObjectMetaSchema>;
36
-
37
- export const foreignKey = (source: string, id: string): ForeignKey => ({ source, id });
38
- export const foreignKeyEquals = (a: ForeignKey, b: ForeignKey) => a.source === b.source && a.id === b.id;
39
-
40
- /**
41
- * Get metadata from object.
42
- * Only callable on the object root.
43
- * @deprecated Use {@link getMeta}.
44
- */
45
- // TODO(dmaretskyi): Remove.
46
- export const getObjectMeta = (obj: any): ObjectMeta => {
47
- return getMeta(obj);
48
- };
49
-
50
- /*
51
- * Get metadata from object.
52
- * Only callable on the object root.
53
- */
54
- export const getMeta = (obj: BaseObject): ObjectMeta => {
55
- const metadata = (obj as any)[MetaId];
56
- invariant(metadata, 'ObjectMeta not found.');
57
- return metadata;
58
- };
59
-
60
- // TODO(dmaretskyi): Move to echo-schema.
61
- export const compareForeignKeys: Comparator<BaseObject> = (a: BaseObject, b: BaseObject) =>
62
- intersection(getMeta(a).keys, getMeta(b).keys, foreignKeyEquals).length > 0;
@@ -1,170 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import type * as Schema from 'effect/Schema';
6
-
7
- import { type ForeignKey } from '@dxos/echo-protocol';
8
- import { invariant } from '@dxos/invariant';
9
- import { DXN, ObjectId } from '@dxos/keys';
10
- import { assumeType } from '@dxos/util';
11
-
12
- import { EntityKind } from '../ast';
13
-
14
- import { type ObjectMeta } from './meta';
15
- import type { Version } from './version';
16
-
17
- //
18
- // Defines the internal model of the echo object.
19
- //
20
-
21
- /**
22
- * Entity kind.
23
- */
24
- export const EntityKindId = Symbol('@dxos/echo/EntityKind');
25
-
26
- /**
27
- * DXN to the object itself.
28
- */
29
- export const SelfDXNId = Symbol('@dxos/echo/DXN');
30
-
31
- /**
32
- * Property name for self DXN when object is serialized to JSON.
33
- */
34
- export const ATTR_SELF_DXN = '@dxn';
35
-
36
- /**
37
- * DXN to the object type.
38
- */
39
- export const TypeId = Symbol('@dxos/echo/Type');
40
-
41
- /**
42
- * Property name for typename when object is serialized to JSON.
43
- */
44
- export const ATTR_TYPE = '@type';
45
-
46
- /**
47
- * Reference to the object schema.
48
- */
49
- export const SchemaId = Symbol('@dxos/echo/Schema');
50
-
51
- /**
52
- * Deletion marker.
53
- */
54
- export const DeletedId = Symbol('@dxos/echo/Deleted');
55
-
56
- /**
57
- * Property name for deleted when object is serialized to JSON.
58
- */
59
- export const ATTR_DELETED = '@deleted';
60
-
61
- /**
62
- * Metadata section.
63
- */
64
- export const MetaId = Symbol('@dxos/echo/Meta');
65
-
66
- /**
67
- * Property name for meta when object is serialized to JSON.
68
- */
69
- export const ATTR_META = '@meta';
70
-
71
- /**
72
- * Used to access relation source ref on live ECHO objects.
73
- * Reading this symbol must return `Live<EchoObject<any>>` or a DXN.
74
- */
75
- export const RelationSourceDXNId: unique symbol = Symbol('@dxos/echo/RelationSourceDXN');
76
-
77
- /**
78
- * Property name for relation source when object is serialized to JSON.
79
- */
80
- export const ATTR_RELATION_SOURCE = '@relationSource';
81
-
82
- /**
83
- * Used to access relation target ref on live ECHO objects.
84
- * Reading this symbol must return `Live<EchoObject<any>>` or a DXN.
85
- */
86
- export const RelationTargetDXNId: unique symbol = Symbol('@dxos/echo/RelationTargetDXN');
87
-
88
- /**
89
- * Property name for relation target when object is serialized to JSON.
90
- */
91
- export const ATTR_RELATION_TARGET = '@relationTarget';
92
-
93
- /**
94
- * Used to access relation source ref on live ECHO objects.
95
- * Reading this symbol must return `Live<EchoObject<any>>` or a DXN.
96
- */
97
- export const RelationSourceId: unique symbol = Symbol('@dxos/echo/RelationSource');
98
-
99
- /**
100
- * Used to access relation target ref on live ECHO objects.
101
- * Reading this symbol must return `Live<EchoObject<any>>` or a DXN.
102
- */
103
- export const RelationTargetId: unique symbol = Symbol('@dxos/echo/RelationTarget');
104
-
105
- /**
106
- * Getter to get object version.
107
- */
108
- export const ObjectVersionId: unique symbol = Symbol('@dxos/echo/ObjectVersion');
109
-
110
- /**
111
- * Internal runtime representation of an object.
112
- * The fields are accessed through getter functions.
113
- */
114
- export interface InternalObjectProps {
115
- id: ObjectId;
116
- readonly [SelfDXNId]?: DXN;
117
-
118
- // Echo supports untyped objects O_O.
119
- readonly [TypeId]?: DXN;
120
-
121
- /**
122
- * Returns the schema for the object.
123
- */
124
- readonly [SchemaId]?: Schema.Schema.AnyNoContext;
125
- readonly [EntityKindId]: EntityKind;
126
- readonly [DeletedId]?: boolean;
127
- readonly [MetaId]?: ObjectMeta;
128
- readonly [RelationSourceDXNId]?: DXN;
129
- readonly [RelationTargetDXNId]?: DXN;
130
- readonly [RelationSourceId]?: InternalObjectProps;
131
- readonly [RelationTargetId]?: InternalObjectProps;
132
- readonly [ObjectVersionId]?: Version;
133
- }
134
-
135
- /**
136
- * JSON representation of an object or relation.
137
- */
138
- export interface ObjectJSON {
139
- id: string;
140
- [ATTR_SELF_DXN]?: DXN.String;
141
- [ATTR_TYPE]: DXN.String;
142
- [ATTR_DELETED]?: boolean;
143
- [ATTR_META]?: ObjectMetaJSON;
144
- [ATTR_RELATION_SOURCE]?: DXN.String;
145
- [ATTR_RELATION_TARGET]?: DXN.String;
146
- }
147
-
148
- export interface ObjectMetaJSON {
149
- keys: ForeignKey[];
150
- tags?: string[];
151
- }
152
-
153
- // NOTE: Keep as `function` to avoid type inference issues.
154
- // eslint-disable-next-line prefer-arrow-functions/prefer-arrow-functions
155
- export function assertObjectModelShape(obj: unknown): asserts obj is InternalObjectProps {
156
- invariant(typeof obj === 'object' && obj !== null, 'Invalid object model: not an object');
157
- assumeType<InternalObjectProps>(obj);
158
- invariant(ObjectId.isValid(obj.id), 'Invalid object model: invalid id');
159
- invariant(obj[TypeId] === undefined || obj[TypeId] instanceof DXN, 'Invalid object model: invalid type');
160
- invariant(
161
- obj[EntityKindId] === EntityKind.Object || obj[EntityKindId] === EntityKind.Relation,
162
- 'Invalid object model: invalid entity kind',
163
- );
164
- if (obj[EntityKindId] === EntityKind.Relation) {
165
- invariant(obj[RelationSourceDXNId] instanceof DXN, 'Invalid object model: invalid relation source');
166
- invariant(obj[RelationTargetDXNId] instanceof DXN, 'Invalid object model: invalid relation target');
167
- invariant(!(obj[RelationSourceId] instanceof DXN), 'Invalid object model: source pointer is a DXN');
168
- invariant(!(obj[RelationTargetId] instanceof DXN), 'Invalid object model: target pointer is a DXN');
169
- }
170
- }
@@ -1,24 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import type { RelationSourceId, RelationTargetId } from './model';
6
-
7
- /**
8
- * Source and target props on relations.
9
- */
10
- // TODO(burdon): any?
11
- export type RelationSourceTargetRefs<Source = any, Target = any> = {
12
- /**
13
- * Source ECHO live object.
14
- */
15
- [RelationSourceId]: Source;
16
-
17
- /**
18
- * Target ECHO live object.
19
- */
20
- [RelationTargetId]: Target;
21
- };
22
-
23
- export type RelationSource<R> = R extends RelationSourceTargetRefs<infer Source, infer _Target> ? Source : never;
24
- export type RelationTarget<R> = R extends RelationSourceTargetRefs<infer _Source, infer Target> ? Target : never;
@@ -1,81 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import * as Schema from 'effect/Schema';
6
-
7
- import { invariant } from '@dxos/invariant';
8
-
9
- import { EntityKind, SchemaVersion, type TypeAnnotation, TypeAnnotationId, type TypeMeta, Typename } from '../ast';
10
- import { type HasId } from '../types';
11
-
12
- import { type TypedObjectFields, type TypedObjectOptions, makeTypedEntityClass } from './common';
13
-
14
- /**
15
- * Definition for an object type that can be stored in an ECHO database.
16
- * Implements effect schema to define object properties.
17
- * Has a typename and version.
18
- *
19
- * In contrast to {@link EchoSchema} this definition is not recorded in the database.
20
- */
21
- export interface TypedObject<A = any, I = any> extends TypeMeta, Schema.Schema<A, I> {}
22
-
23
- /**
24
- * Typed object that could be used as a prototype in class definitions.
25
- * This is an internal API type.
26
- * Use {@link TypedObject} for the common use-cases.
27
- */
28
- export interface TypedObjectPrototype<A = any, I = any> extends TypedObject<A, I> {
29
- /** Type constructor. */
30
- new (): HasId & A;
31
- }
32
-
33
- export type TypedObjectProps = TypeMeta & {
34
- // TODO(dmaretskyi): Remove after all legacy types has been removed.
35
- disableValidation?: boolean;
36
- };
37
-
38
- /**
39
- * Base class factory for typed objects.
40
- * @deprecated Use Function.pipe(Type.Obj) instead.
41
- */
42
- export const TypedObject = ({
43
- typename: typenameParam,
44
- version: versionParam,
45
- disableValidation,
46
- }: TypedObjectProps) => {
47
- const typename = Typename.make(typenameParam, { disableValidation });
48
- const version = SchemaVersion.make(versionParam, { disableValidation });
49
-
50
- /**
51
- * Return class definition factory.
52
- */
53
- return <SchemaFields extends Schema.Struct.Fields, Options extends TypedObjectOptions>(
54
- fields: SchemaFields,
55
- options?: Options,
56
- ): TypedObjectPrototype<TypedObjectFields<SchemaFields, Options>, Schema.Struct.Encoded<SchemaFields>> => {
57
- // Create schema from fields.
58
- const schema: Schema.Schema.All = options?.record
59
- ? Schema.Struct(fields, { key: Schema.String, value: Schema.Any })
60
- : Schema.Struct(fields);
61
-
62
- // Set ECHO object id property.
63
- const typeSchema = Schema.extend(
64
- Schema.mutable(options?.partial ? Schema.partial(schema) : schema),
65
- Schema.Struct({ id: Schema.String }),
66
- );
67
-
68
- // Set ECHO annotations.
69
- invariant(typeof EntityKind.Object === 'string');
70
- const annotatedSchema = typeSchema.annotations({
71
- [TypeAnnotationId]: { kind: EntityKind.Object, typename, version } satisfies TypeAnnotation,
72
- });
73
-
74
- /**
75
- * Return class definition.
76
- * NOTE: Actual reactive ECHO objects must be created via the `live(Type)` function.
77
- */
78
- // TODO(burdon): This is missing fields required by TypedObject (e.g., Type, Encoded, Context)?
79
- return class TypedObject extends makeTypedEntityClass(typename, version, annotatedSchema as any) {} as any;
80
- };
81
- };
@@ -1,85 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import * as Schema from 'effect/Schema';
6
-
7
- import { invariant } from '@dxos/invariant';
8
-
9
- import { EntityKind, SchemaVersion, type TypeAnnotation, TypeAnnotationId, type TypeMeta, Typename } from '../ast';
10
- import { type HasId } from '../types';
11
-
12
- import { type TypedObjectFields, type TypedObjectOptions, makeTypedEntityClass } from './common';
13
- import { type RelationSourceTargetRefs } from './relation';
14
-
15
- /**
16
- * Definition for an object type that can be stored in an ECHO database.
17
- * Implements effect schema to define object properties.
18
- * Has a typename and version.
19
- *
20
- * In contrast to {@link EchoSchema} this definition is not recorded in the database.
21
- */
22
- export interface TypedRelation<A = any, I = any> extends TypeMeta, Schema.Schema<A, I> {}
23
-
24
- /**
25
- * Typed object that could be used as a prototype in class definitions.
26
- * This is an internal API type.
27
- * Use {@link TypedRelation} for the common use-cases.
28
- */
29
- export interface TypedRelationPrototype<A = any, I = any> extends TypedRelation<A, I> {
30
- /** Type constructor. */
31
- new (): HasId & A;
32
- }
33
-
34
- export type TypedRelationProps = TypeMeta & {
35
- // TODO(dmaretskyi): Remove after all legacy types has been removed.
36
- disableValidation?: boolean;
37
- };
38
-
39
- /**
40
- * Base class factory for typed objects.
41
- * @deprecated Use {@link EchoRelation} instead.
42
- */
43
- export const TypedRelation = ({
44
- typename: typenameParam,
45
- version: versionParam,
46
- disableValidation,
47
- }: TypedRelationProps) => {
48
- const typename = Typename.make(typenameParam, { disableValidation });
49
- const version = SchemaVersion.make(versionParam, { disableValidation });
50
-
51
- /**
52
- * Return class definition factory.
53
- */
54
- return <SchemaFields extends Schema.Struct.Fields, Options extends TypedObjectOptions>(
55
- fields: SchemaFields,
56
- options?: Options,
57
- ): TypedRelationPrototype<
58
- TypedObjectFields<SchemaFields, Options> & RelationSourceTargetRefs,
59
- Schema.Struct.Encoded<SchemaFields>
60
- > => {
61
- // Create schema from fields.
62
- const schema: Schema.Schema.All = options?.record
63
- ? Schema.Struct(fields, { key: Schema.String, value: Schema.Any })
64
- : Schema.Struct(fields);
65
-
66
- // Set ECHO object id property.
67
- const typeSchema = Schema.extend(
68
- Schema.mutable(options?.partial ? Schema.partial(schema) : schema),
69
- Schema.Struct({ id: Schema.String }),
70
- );
71
-
72
- // Set ECHO annotations.
73
- invariant(typeof EntityKind.Relation === 'string');
74
- const annotatedSchema = typeSchema.annotations({
75
- [TypeAnnotationId]: { kind: EntityKind.Relation, typename, version } satisfies TypeAnnotation,
76
- });
77
-
78
- /**
79
- * Return class definition.
80
- * NOTE: Actual reactive ECHO objects must be created via the `live(Type)` function.
81
- */
82
- // TODO(burdon): This is missing fields required by TypedRelation (e.g., Type, Encoded, Context)?
83
- return class TypedRelation extends makeTypedEntityClass(typename, version, annotatedSchema as any) {} as any;
84
- };
85
- };
@@ -1,61 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import { invariant } from '@dxos/invariant';
6
- import { DXN } from '@dxos/keys';
7
-
8
- import { getSchemaTypename } from '../ast';
9
- import { type BaseObject } from '../types';
10
-
11
- import { getSchema } from './accessors';
12
- import { TypeId } from './model';
13
-
14
- /**
15
- * Gets the typename of the object without the version.
16
- * Returns only the name portion, not the DXN.
17
- * @example "example.org/type/Contact"
18
- */
19
- export const getTypename = (obj: BaseObject): string | undefined => {
20
- const schema = getSchema(obj);
21
- if (schema != null) {
22
- // Try to extract typename from DXN.
23
- return getSchemaTypename(schema);
24
- } else {
25
- const type = getType(obj);
26
- return type?.asTypeDXN()?.type;
27
- }
28
- };
29
-
30
- /**
31
- * @internal
32
- */
33
- // TODO(dmaretskyi): Rename setTypeDXN.
34
- export const setTypename = (obj: any, typename: DXN) => {
35
- invariant(typename instanceof DXN, 'Invalid type.');
36
- Object.defineProperty(obj, TypeId, {
37
- value: typename,
38
- writable: false,
39
- enumerable: false,
40
- configurable: false,
41
- });
42
- };
43
-
44
- /**
45
- * @returns Object type as {@link DXN}.
46
- * @returns undefined if the object doesn't have a type.
47
- * @example `dxn:example.com/type/Contact:1.0.0`
48
- */
49
- export const getType = (obj: BaseObject): DXN | undefined => {
50
- if (!obj) {
51
- return undefined;
52
- }
53
-
54
- const type = (obj as any)[TypeId];
55
- if (!type) {
56
- return undefined;
57
- }
58
-
59
- invariant(type instanceof DXN, 'Invalid object.');
60
- return type;
61
- };
@@ -1,22 +0,0 @@
1
- //
2
- // NOTE: Those types must match the ones defined at @dxos/echo. We duplicated them murely due to technical constrains.
3
- //
4
-
5
- /**
6
- * Getter to get object version.
7
- */
8
- //
9
- // Copyright 2025 DXOS.org
10
- //
11
-
12
- export const VersionTypeId: unique symbol = Symbol('@dxos/echo/Version');
13
-
14
- /**
15
- * Represent object version.
16
- * May be backed by Automerge.
17
- * Objects with no history are not versioned.
18
- */
19
- export interface Version {
20
- [VersionTypeId]: {};
21
- automergeHeads?: string[];
22
- }
@@ -1,5 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- export * from './compose';