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

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 (559) 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 +56 -0
  5. package/dist/lib/neutral/Err.mjs +12 -0
  6. package/dist/lib/neutral/Feed.mjs +43 -0
  7. package/dist/lib/neutral/Filter.mjs +61 -0
  8. package/dist/lib/neutral/Format.mjs +66 -0
  9. package/dist/lib/neutral/Format.mjs.map +7 -0
  10. package/dist/lib/neutral/JsonSchema.mjs +18 -0
  11. package/dist/lib/neutral/JsonSchema.mjs.map +7 -0
  12. package/dist/lib/neutral/Key.mjs +12 -0
  13. package/dist/lib/neutral/Key.mjs.map +7 -0
  14. package/dist/lib/neutral/Obj.mjs +107 -0
  15. package/dist/lib/neutral/Obj.mjs.map +7 -0
  16. package/dist/lib/neutral/Order.mjs +12 -0
  17. package/dist/lib/neutral/Order.mjs.map +7 -0
  18. package/dist/lib/neutral/Query.mjs +32 -0
  19. package/dist/lib/neutral/Query.mjs.map +7 -0
  20. package/dist/lib/neutral/QueryResult.mjs +2 -0
  21. package/dist/lib/neutral/QueryResult.mjs.map +7 -0
  22. package/dist/lib/neutral/Ref.mjs +24 -0
  23. package/dist/lib/neutral/Ref.mjs.map +7 -0
  24. package/dist/lib/neutral/Relation.mjs +90 -0
  25. package/dist/lib/neutral/Relation.mjs.map +7 -0
  26. package/dist/lib/neutral/SchemaRegistry.mjs +2 -0
  27. package/dist/lib/neutral/SchemaRegistry.mjs.map +7 -0
  28. package/dist/lib/neutral/Tag.mjs +25 -0
  29. package/dist/lib/neutral/Tag.mjs.map +7 -0
  30. package/dist/lib/neutral/Type.mjs +34 -0
  31. package/dist/lib/neutral/Type.mjs.map +7 -0
  32. package/dist/lib/neutral/chunk-4KG6IGL4.mjs +67 -0
  33. package/dist/lib/neutral/chunk-4KG6IGL4.mjs.map +7 -0
  34. package/dist/lib/neutral/chunk-5ELDDYWE.mjs +130 -0
  35. package/dist/lib/neutral/chunk-5ELDDYWE.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-ALOGSVBP.mjs +299 -0
  37. package/dist/lib/neutral/chunk-ALOGSVBP.mjs.map +7 -0
  38. package/dist/lib/neutral/chunk-ANHVGJI4.mjs +21 -0
  39. package/dist/lib/neutral/chunk-ANHVGJI4.mjs.map +7 -0
  40. package/dist/lib/neutral/chunk-AQP4QKYP.mjs +283 -0
  41. package/dist/lib/neutral/chunk-AQP4QKYP.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-BRJSLACP.mjs +152 -0
  43. package/dist/lib/neutral/chunk-BRJSLACP.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-DZQSL6RW.mjs +73 -0
  45. package/dist/lib/neutral/chunk-DZQSL6RW.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-F7KMHDPJ.mjs +327 -0
  47. package/dist/lib/neutral/chunk-F7KMHDPJ.mjs.map +7 -0
  48. package/dist/lib/neutral/chunk-GAWKQ5DZ.mjs +56 -0
  49. package/dist/lib/neutral/chunk-GAWKQ5DZ.mjs.map +7 -0
  50. package/dist/lib/neutral/chunk-GFNCSK7F.mjs +101 -0
  51. package/dist/lib/neutral/chunk-GFNCSK7F.mjs.map +7 -0
  52. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  53. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  54. package/dist/lib/neutral/chunk-KGV3QIRX.mjs +313 -0
  55. package/dist/lib/neutral/chunk-KGV3QIRX.mjs.map +7 -0
  56. package/dist/lib/neutral/chunk-M2KVTHZM.mjs +402 -0
  57. package/dist/lib/neutral/chunk-M2KVTHZM.mjs.map +7 -0
  58. package/dist/lib/neutral/chunk-MXQJZCPY.mjs +51 -0
  59. package/dist/lib/neutral/chunk-MXQJZCPY.mjs.map +7 -0
  60. package/dist/lib/neutral/chunk-O3TZFQCT.mjs +27 -0
  61. package/dist/lib/neutral/chunk-O3TZFQCT.mjs.map +7 -0
  62. package/dist/lib/neutral/chunk-OMUPQMLR.mjs +7 -0
  63. package/dist/lib/neutral/chunk-OMUPQMLR.mjs.map +7 -0
  64. package/dist/lib/neutral/chunk-OVUBTQLT.mjs +45 -0
  65. package/dist/lib/neutral/chunk-OVUBTQLT.mjs.map +7 -0
  66. package/dist/lib/neutral/chunk-PP4DNUZU.mjs +3919 -0
  67. package/dist/lib/neutral/chunk-PP4DNUZU.mjs.map +7 -0
  68. package/dist/lib/neutral/chunk-QXF3LGN2.mjs +43 -0
  69. package/dist/lib/neutral/chunk-QXF3LGN2.mjs.map +7 -0
  70. package/dist/lib/neutral/chunk-T4MPQJ7X.mjs +97 -0
  71. package/dist/lib/neutral/chunk-T4MPQJ7X.mjs.map +7 -0
  72. package/dist/lib/neutral/chunk-T6JEFNP6.mjs +7 -0
  73. package/dist/lib/neutral/chunk-T6JEFNP6.mjs.map +7 -0
  74. package/dist/lib/neutral/chunk-W7OP5HGZ.mjs +121 -0
  75. package/dist/lib/neutral/chunk-W7OP5HGZ.mjs.map +7 -0
  76. package/dist/lib/neutral/chunk-ZTUBYOGB.mjs +42 -0
  77. package/dist/lib/neutral/chunk-ZTUBYOGB.mjs.map +7 -0
  78. package/dist/lib/neutral/chunk-ZWKJ4LZJ.mjs +298 -0
  79. package/dist/lib/neutral/chunk-ZWKJ4LZJ.mjs.map +7 -0
  80. package/dist/lib/neutral/index.mjs +94 -0
  81. package/dist/lib/neutral/index.mjs.map +7 -0
  82. package/dist/lib/{node-esm → neutral}/internal/index.mjs +260 -122
  83. package/dist/lib/neutral/internal/index.mjs.map +7 -0
  84. package/dist/lib/neutral/meta.json +1 -0
  85. package/dist/lib/neutral/testing/index.mjs +369 -0
  86. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  87. package/dist/types/src/Annotation.d.ts +24 -0
  88. package/dist/types/src/Annotation.d.ts.map +1 -0
  89. package/dist/types/src/Collection.d.ts +16 -0
  90. package/dist/types/src/Collection.d.ts.map +1 -0
  91. package/dist/types/src/Database.d.ts +189 -0
  92. package/dist/types/src/Database.d.ts.map +1 -0
  93. package/dist/types/src/Dataset.d.ts +18 -0
  94. package/dist/types/src/Dataset.d.ts.map +1 -0
  95. package/dist/types/src/Entity.d.ts +168 -0
  96. package/dist/types/src/Entity.d.ts.map +1 -0
  97. package/dist/types/src/Entity.test.d.ts +2 -0
  98. package/dist/types/src/Entity.test.d.ts.map +1 -0
  99. package/dist/types/src/Err.d.ts +107 -0
  100. package/dist/types/src/Err.d.ts.map +1 -0
  101. package/dist/types/src/Feed.d.ts +165 -0
  102. package/dist/types/src/Feed.d.ts.map +1 -0
  103. package/dist/types/src/Filter.d.ts +120 -0
  104. package/dist/types/src/Filter.d.ts.map +1 -0
  105. package/dist/types/src/Format.d.ts +4 -0
  106. package/dist/types/src/Format.d.ts.map +1 -0
  107. package/dist/types/src/Hypergraph.d.ts +60 -0
  108. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  109. package/dist/types/src/JsonSchema.d.ts +16 -0
  110. package/dist/types/src/JsonSchema.d.ts.map +1 -0
  111. package/dist/types/src/Key.d.ts +1 -0
  112. package/dist/types/src/Key.d.ts.map +1 -1
  113. package/dist/types/src/Obj.d.ts +423 -95
  114. package/dist/types/src/Obj.d.ts.map +1 -1
  115. package/dist/types/src/Obj.test.d.ts +2 -0
  116. package/dist/types/src/Obj.test.d.ts.map +1 -0
  117. package/dist/types/src/Order.d.ts +16 -0
  118. package/dist/types/src/Order.d.ts.map +1 -0
  119. package/dist/types/src/Query.d.ts +202 -0
  120. package/dist/types/src/Query.d.ts.map +1 -0
  121. package/dist/types/src/Query.test.d.ts +2 -0
  122. package/dist/types/src/Query.test.d.ts.map +1 -0
  123. package/dist/types/src/QueryResult.d.ts +80 -0
  124. package/dist/types/src/QueryResult.d.ts.map +1 -0
  125. package/dist/types/src/Ref.d.ts +61 -11
  126. package/dist/types/src/Ref.d.ts.map +1 -1
  127. package/dist/types/src/Relation.d.ts +287 -21
  128. package/dist/types/src/Relation.d.ts.map +1 -1
  129. package/dist/types/src/Relation.test.d.ts +2 -0
  130. package/dist/types/src/Relation.test.d.ts.map +1 -0
  131. package/dist/types/src/SchemaRegistry.d.ts +84 -0
  132. package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
  133. package/dist/types/src/Tag.d.ts +18 -0
  134. package/dist/types/src/Tag.d.ts.map +1 -0
  135. package/dist/types/src/Type.d.ts +120 -97
  136. package/dist/types/src/Type.d.ts.map +1 -1
  137. package/dist/types/src/Type.test.d.ts +2 -0
  138. package/dist/types/src/Type.test.d.ts.map +1 -0
  139. package/dist/types/src/View.d.ts +68 -0
  140. package/dist/types/src/View.d.ts.map +1 -0
  141. package/dist/types/src/hierarchy.test.d.ts +2 -0
  142. package/dist/types/src/hierarchy.test.d.ts.map +1 -0
  143. package/dist/types/src/index.d.ts +19 -5
  144. package/dist/types/src/index.d.ts.map +1 -1
  145. package/dist/types/src/internal/annotations/annotations.d.ts +209 -0
  146. package/dist/types/src/internal/annotations/annotations.d.ts.map +1 -0
  147. package/dist/types/src/internal/annotations/annotations.test.d.ts.map +1 -0
  148. package/dist/types/src/internal/annotations/index.d.ts +3 -0
  149. package/dist/types/src/internal/annotations/index.d.ts.map +1 -0
  150. package/dist/types/src/internal/annotations/util.d.ts +39 -0
  151. package/dist/types/src/internal/annotations/util.d.ts.map +1 -0
  152. package/dist/types/src/internal/api/annotations.d.ts +23 -0
  153. package/dist/types/src/internal/api/annotations.d.ts.map +1 -0
  154. package/dist/types/src/internal/api/entity.d.ts +13 -0
  155. package/dist/types/src/internal/api/entity.d.ts.map +1 -0
  156. package/dist/types/src/internal/api/index.d.ts +15 -0
  157. package/dist/types/src/internal/api/index.d.ts.map +1 -0
  158. package/dist/types/src/internal/api/meta.d.ts +42 -0
  159. package/dist/types/src/internal/api/meta.d.ts.map +1 -0
  160. package/dist/types/src/internal/api/sorting.d.ts +24 -0
  161. package/dist/types/src/internal/api/sorting.d.ts.map +1 -0
  162. package/dist/types/src/internal/api/version.d.ts +42 -0
  163. package/dist/types/src/internal/api/version.d.ts.map +1 -0
  164. package/dist/types/src/internal/entities/entity.d.ts +20 -0
  165. package/dist/types/src/internal/entities/entity.d.ts.map +1 -0
  166. package/dist/types/src/internal/entities/index.d.ts +6 -0
  167. package/dist/types/src/internal/entities/index.d.ts.map +1 -0
  168. package/dist/types/src/internal/entities/model.d.ts +79 -0
  169. package/dist/types/src/internal/entities/model.d.ts.map +1 -0
  170. package/dist/types/src/internal/entities/object.d.ts +18 -0
  171. package/dist/types/src/internal/entities/object.d.ts.map +1 -0
  172. package/dist/types/src/internal/entities/relation.d.ts +62 -0
  173. package/dist/types/src/internal/entities/relation.d.ts.map +1 -0
  174. package/dist/types/src/internal/entities/util.d.ts +2 -0
  175. package/dist/types/src/internal/entities/util.d.ts.map +1 -0
  176. package/dist/types/src/internal/formats/format.d.ts +4 -2
  177. package/dist/types/src/internal/formats/format.d.ts.map +1 -1
  178. package/dist/types/src/internal/formats/select.d.ts +6 -4
  179. package/dist/types/src/internal/formats/select.d.ts.map +1 -1
  180. package/dist/types/src/internal/formats/string.d.ts +4 -0
  181. package/dist/types/src/internal/formats/string.d.ts.map +1 -1
  182. package/dist/types/src/internal/formats/types.d.ts +13 -9
  183. package/dist/types/src/internal/formats/types.d.ts.map +1 -1
  184. package/dist/types/src/internal/index.d.ts +7 -10
  185. package/dist/types/src/internal/index.d.ts.map +1 -1
  186. package/dist/types/src/internal/json-schema/annotations.d.ts.map +1 -0
  187. package/dist/types/src/internal/json-schema/effect-schema.test.d.ts.map +1 -0
  188. package/dist/types/src/internal/json-schema/index.d.ts +2 -0
  189. package/dist/types/src/internal/json-schema/index.d.ts.map +1 -1
  190. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +1 -1
  191. package/dist/types/src/internal/json-schema/json-schema-type.d.ts +130 -29
  192. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -1
  193. package/dist/types/src/internal/{json → json-schema}/json-schema.d.ts +4 -6
  194. package/dist/types/src/internal/json-schema/json-schema.d.ts.map +1 -0
  195. package/dist/types/src/internal/json-schema/json-schema.test.d.ts.map +1 -0
  196. package/dist/types/src/internal/object/clone.d.ts +8 -0
  197. package/dist/types/src/internal/object/clone.d.ts.map +1 -0
  198. package/dist/types/src/internal/object/common.d.ts.map +1 -1
  199. package/dist/types/src/internal/object/{create.d.ts → create-object.d.ts} +10 -11
  200. package/dist/types/src/internal/object/create-object.d.ts.map +1 -0
  201. package/dist/types/src/internal/object/create-object.test.d.ts +2 -0
  202. package/dist/types/src/internal/object/create-object.test.d.ts.map +1 -0
  203. package/dist/types/src/internal/object/deleted.d.ts +2 -2
  204. package/dist/types/src/internal/object/deleted.d.ts.map +1 -1
  205. package/dist/types/src/internal/object/ids.d.ts.map +1 -1
  206. package/dist/types/src/internal/object/index.d.ts +6 -12
  207. package/dist/types/src/internal/object/index.d.ts.map +1 -1
  208. package/dist/types/src/internal/object/json-serializer.d.ts +14 -9
  209. package/dist/types/src/internal/object/json-serializer.d.ts.map +1 -1
  210. package/dist/types/src/internal/object/schema-validator.d.ts +1 -14
  211. package/dist/types/src/internal/object/schema-validator.d.ts.map +1 -1
  212. package/dist/types/src/internal/object/set-value.d.ts +7 -0
  213. package/dist/types/src/internal/object/set-value.d.ts.map +1 -0
  214. package/dist/types/src/internal/object/set-value.test.d.ts +2 -0
  215. package/dist/types/src/internal/object/set-value.test.d.ts.map +1 -0
  216. package/dist/types/src/internal/object/snapshot.d.ts +6 -0
  217. package/dist/types/src/internal/object/snapshot.d.ts.map +1 -0
  218. package/dist/types/src/internal/object/typed-object.d.ts +8 -14
  219. package/dist/types/src/internal/object/typed-object.d.ts.map +1 -1
  220. package/dist/types/src/internal/proxy/change-context.d.ts +55 -0
  221. package/dist/types/src/internal/proxy/change-context.d.ts.map +1 -0
  222. package/dist/types/src/internal/proxy/change.test.d.ts +2 -0
  223. package/dist/types/src/internal/proxy/change.test.d.ts.map +1 -0
  224. package/dist/types/src/internal/proxy/define-hidden-property.d.ts +5 -0
  225. package/dist/types/src/internal/proxy/define-hidden-property.d.ts.map +1 -0
  226. package/dist/types/src/internal/proxy/errors.d.ts +19 -0
  227. package/dist/types/src/internal/proxy/errors.d.ts.map +1 -0
  228. package/dist/types/src/internal/proxy/event-batch.d.ts +10 -0
  229. package/dist/types/src/internal/proxy/event-batch.d.ts.map +1 -0
  230. package/dist/types/src/internal/proxy/index.d.ts +14 -0
  231. package/dist/types/src/internal/proxy/index.d.ts.map +1 -0
  232. package/dist/types/src/internal/proxy/json-serializer.d.ts +6 -0
  233. package/dist/types/src/internal/proxy/json-serializer.d.ts.map +1 -0
  234. package/dist/types/src/internal/proxy/make-object.d.ts +14 -0
  235. package/dist/types/src/internal/proxy/make-object.d.ts.map +1 -0
  236. package/dist/types/src/internal/proxy/ownership.d.ts +57 -0
  237. package/dist/types/src/internal/proxy/ownership.d.ts.map +1 -0
  238. package/dist/types/src/internal/proxy/proxy-types.d.ts +18 -0
  239. package/dist/types/src/internal/proxy/proxy-types.d.ts.map +1 -0
  240. package/dist/types/src/internal/proxy/proxy-utils.d.ts +47 -0
  241. package/dist/types/src/internal/proxy/proxy-utils.d.ts.map +1 -0
  242. package/dist/types/src/internal/proxy/reactive-array.d.ts +8 -0
  243. package/dist/types/src/internal/proxy/reactive-array.d.ts.map +1 -0
  244. package/dist/types/src/internal/proxy/reactive.d.ts +39 -0
  245. package/dist/types/src/internal/proxy/reactive.d.ts.map +1 -0
  246. package/dist/types/src/internal/proxy/schema-validator.d.ts +15 -0
  247. package/dist/types/src/internal/proxy/schema-validator.d.ts.map +1 -0
  248. package/dist/types/src/internal/proxy/symbols.d.ts +3 -0
  249. package/dist/types/src/internal/proxy/symbols.d.ts.map +1 -0
  250. package/dist/types/src/internal/proxy/typed-handler.d.ts +16 -12
  251. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +1 -1
  252. package/dist/types/src/internal/ref/ref-array.d.ts +4 -4
  253. package/dist/types/src/internal/ref/ref-array.d.ts.map +1 -1
  254. package/dist/types/src/internal/ref/ref.d.ts +43 -18
  255. package/dist/types/src/internal/ref/ref.d.ts.map +1 -1
  256. package/dist/types/src/internal/schema/compose.d.ts +7 -0
  257. package/dist/types/src/internal/schema/compose.d.ts.map +1 -0
  258. package/dist/types/src/internal/schema/compose.test.d.ts.map +1 -0
  259. package/dist/types/src/internal/schema/echo-schema.d.ts +25 -12
  260. package/dist/types/src/internal/schema/echo-schema.d.ts.map +1 -1
  261. package/dist/types/src/internal/schema/index.d.ts +1 -4
  262. package/dist/types/src/internal/schema/index.d.ts.map +1 -1
  263. package/dist/types/src/internal/schema/manipulation.d.ts.map +1 -1
  264. package/dist/types/src/internal/schema/persistent-schema.d.ts +20 -0
  265. package/dist/types/src/internal/schema/persistent-schema.d.ts.map +1 -0
  266. package/dist/types/src/internal/types/base.d.ts +27 -0
  267. package/dist/types/src/internal/types/base.d.ts.map +1 -0
  268. package/dist/types/src/internal/types/entity.d.ts +37 -0
  269. package/dist/types/src/internal/types/entity.d.ts.map +1 -0
  270. package/dist/types/src/internal/types/index.d.ts +5 -2
  271. package/dist/types/src/internal/types/index.d.ts.map +1 -1
  272. package/dist/types/src/internal/{object → types}/meta.d.ts +16 -14
  273. package/dist/types/src/internal/types/meta.d.ts.map +1 -0
  274. package/dist/types/src/internal/types/typename.d.ts +21 -0
  275. package/dist/types/src/internal/types/typename.d.ts.map +1 -0
  276. package/dist/types/src/internal/types/version.d.ts +15 -0
  277. package/dist/types/src/internal/types/version.d.ts.map +1 -0
  278. package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
  279. package/dist/types/src/testing/index.d.ts +3 -3
  280. package/dist/types/src/testing/index.d.ts.map +1 -1
  281. package/dist/types/src/testing/test-data.d.ts +18 -0
  282. package/dist/types/src/testing/test-data.d.ts.map +1 -0
  283. package/dist/types/src/testing/test-schema.d.ts +304 -0
  284. package/dist/types/src/testing/test-schema.d.ts.map +1 -0
  285. package/dist/types/src/testing/util.d.ts +21 -0
  286. package/dist/types/src/testing/util.d.ts.map +1 -0
  287. package/dist/types/tsconfig.tsbuildinfo +1 -1
  288. package/package.json +106 -65
  289. package/src/Annotation.ts +46 -0
  290. package/src/Collection.ts +30 -0
  291. package/src/Database.ts +315 -0
  292. package/src/Dataset.ts +24 -0
  293. package/src/Entity.test.ts +22 -0
  294. package/src/Entity.ts +234 -0
  295. package/src/Err.ts +38 -0
  296. package/src/Feed.ts +254 -0
  297. package/src/Filter.ts +389 -0
  298. package/src/Format.ts +9 -0
  299. package/src/Hypergraph.ts +74 -0
  300. package/src/JsonSchema.ts +24 -0
  301. package/src/Key.ts +3 -0
  302. package/src/Obj.test.ts +447 -0
  303. package/src/Obj.ts +588 -248
  304. package/src/Order.ts +44 -0
  305. package/src/Query.test.ts +632 -0
  306. package/src/Query.ts +520 -0
  307. package/src/QueryResult.ts +106 -0
  308. package/src/Ref.ts +77 -9
  309. package/src/Relation.test.ts +88 -0
  310. package/src/Relation.ts +440 -58
  311. package/src/SchemaRegistry.ts +106 -0
  312. package/src/Tag.ts +39 -0
  313. package/src/Type.test.ts +52 -0
  314. package/src/Type.ts +162 -151
  315. package/src/View.ts +100 -0
  316. package/src/hierarchy.test.ts +33 -0
  317. package/src/index.ts +20 -6
  318. package/src/internal/README.md +102 -0
  319. package/src/internal/{ast → annotations}/annotations.test.ts +18 -20
  320. package/src/internal/annotations/annotations.ts +526 -0
  321. package/src/internal/annotations/index.ts +6 -0
  322. package/src/internal/annotations/util.ts +85 -0
  323. package/src/internal/api/annotations.ts +60 -0
  324. package/src/internal/api/entity.ts +29 -0
  325. package/src/internal/api/index.ts +19 -0
  326. package/src/internal/api/meta.ts +88 -0
  327. package/src/internal/api/sorting.ts +53 -0
  328. package/src/internal/api/version.ts +96 -0
  329. package/src/internal/entities/entity.ts +128 -0
  330. package/src/internal/entities/index.ts +9 -0
  331. package/src/internal/entities/model.ts +138 -0
  332. package/src/internal/entities/object.ts +58 -0
  333. package/src/internal/entities/relation.ts +171 -0
  334. package/src/internal/entities/util.ts +33 -0
  335. package/src/internal/formats/date.test.ts +1 -1
  336. package/src/internal/formats/date.ts +5 -5
  337. package/src/internal/formats/format.test.ts +6 -6
  338. package/src/internal/formats/format.ts +8 -6
  339. package/src/internal/formats/number.ts +5 -5
  340. package/src/internal/formats/object.ts +4 -4
  341. package/src/internal/formats/select.ts +6 -4
  342. package/src/internal/formats/string.ts +14 -9
  343. package/src/internal/formats/types.ts +53 -42
  344. package/src/internal/index.ts +30 -13
  345. package/src/internal/{json → json-schema}/annotations.ts +1 -1
  346. package/src/internal/json-schema/index.ts +2 -0
  347. package/src/internal/json-schema/json-schema-normalize.ts +4 -2
  348. package/src/internal/json-schema/json-schema-type.ts +35 -35
  349. package/src/internal/{json → json-schema}/json-schema.test.ts +232 -97
  350. package/src/internal/{json → json-schema}/json-schema.ts +79 -93
  351. package/src/internal/object/clone.ts +48 -0
  352. package/src/internal/object/common.ts +3 -4
  353. package/src/internal/object/{create.test.ts → create-object.test.ts} +31 -33
  354. package/src/internal/object/{create.ts → create-object.ts} +36 -37
  355. package/src/internal/object/deleted.ts +6 -6
  356. package/src/internal/object/ids.ts +1 -1
  357. package/src/internal/object/index.ts +6 -12
  358. package/src/internal/object/inspect.ts +5 -7
  359. package/src/internal/object/json-serializer.test.ts +59 -37
  360. package/src/internal/object/json-serializer.ts +87 -108
  361. package/src/internal/object/schema-validator.test.ts +3 -7
  362. package/src/internal/object/schema-validator.ts +2 -237
  363. package/src/internal/object/set-value.test.ts +281 -0
  364. package/src/internal/object/set-value.ts +165 -0
  365. package/src/internal/object/snapshot.ts +96 -0
  366. package/src/internal/object/typed-object.test.ts +11 -11
  367. package/src/internal/object/typed-object.ts +8 -59
  368. package/src/internal/proxy/change-context.ts +138 -0
  369. package/src/internal/proxy/change.test.ts +519 -0
  370. package/src/internal/proxy/define-hidden-property.ts +14 -0
  371. package/src/internal/proxy/errors.ts +42 -0
  372. package/src/internal/proxy/event-batch.ts +44 -0
  373. package/src/internal/proxy/handler.test.ts +51 -91
  374. package/src/internal/proxy/index.ts +17 -0
  375. package/src/internal/proxy/json-serializer.ts +87 -0
  376. package/src/internal/proxy/make-object.ts +106 -0
  377. package/src/internal/proxy/ownership.ts +253 -0
  378. package/src/internal/proxy/proxy-types.ts +23 -0
  379. package/src/internal/proxy/proxy-utils.ts +150 -0
  380. package/src/internal/proxy/reactive-array.ts +71 -0
  381. package/src/internal/proxy/reactive.ts +69 -0
  382. package/src/internal/proxy/schema-validator.ts +244 -0
  383. package/src/internal/proxy/schema.test.ts +27 -18
  384. package/src/internal/proxy/symbols.ts +7 -0
  385. package/src/internal/proxy/typed-handler.test.ts +260 -48
  386. package/src/internal/proxy/typed-handler.ts +283 -61
  387. package/src/internal/proxy/typed-object.test.ts +54 -38
  388. package/src/internal/ref/ref-array.ts +4 -4
  389. package/src/internal/ref/ref.test.ts +10 -9
  390. package/src/internal/ref/ref.ts +107 -56
  391. package/src/internal/{projection → schema}/compose.test.ts +8 -9
  392. package/src/internal/{projection → schema}/compose.ts +13 -8
  393. package/src/internal/schema/echo-schema.ts +74 -33
  394. package/src/internal/schema/index.ts +1 -4
  395. package/src/internal/schema/manipulation.ts +7 -1
  396. package/src/internal/schema/persistent-schema.ts +33 -0
  397. package/src/internal/types/base.ts +43 -0
  398. package/src/internal/types/entity.ts +54 -0
  399. package/src/internal/types/index.ts +5 -2
  400. package/src/internal/types/meta.ts +68 -0
  401. package/src/internal/types/typename.ts +55 -0
  402. package/src/internal/types/version.ts +19 -0
  403. package/src/testing/api.test.ts +126 -0
  404. package/src/testing/index.ts +3 -3
  405. package/src/testing/test-data.ts +130 -0
  406. package/src/testing/test-schema.ts +240 -0
  407. package/src/testing/util.ts +85 -0
  408. package/dist/lib/browser/chunk-MWLA34S5.mjs +0 -3843
  409. package/dist/lib/browser/chunk-MWLA34S5.mjs.map +0 -7
  410. package/dist/lib/browser/chunk-OAZJQHVO.mjs +0 -453
  411. package/dist/lib/browser/chunk-OAZJQHVO.mjs.map +0 -7
  412. package/dist/lib/browser/chunk-ORIE2FMS.mjs +0 -514
  413. package/dist/lib/browser/chunk-ORIE2FMS.mjs.map +0 -7
  414. package/dist/lib/browser/index.mjs +0 -43
  415. package/dist/lib/browser/internal/index.mjs +0 -326
  416. package/dist/lib/browser/meta.json +0 -1
  417. package/dist/lib/browser/query/index.mjs +0 -23
  418. package/dist/lib/browser/testing/index.mjs +0 -298
  419. package/dist/lib/browser/testing/index.mjs.map +0 -7
  420. package/dist/lib/node-esm/chunk-AXWVDOP7.mjs +0 -453
  421. package/dist/lib/node-esm/chunk-AXWVDOP7.mjs.map +0 -7
  422. package/dist/lib/node-esm/chunk-L4PBAJDP.mjs +0 -514
  423. package/dist/lib/node-esm/chunk-L4PBAJDP.mjs.map +0 -7
  424. package/dist/lib/node-esm/chunk-YTNLFBIK.mjs +0 -3843
  425. package/dist/lib/node-esm/chunk-YTNLFBIK.mjs.map +0 -7
  426. package/dist/lib/node-esm/index.mjs +0 -43
  427. package/dist/lib/node-esm/meta.json +0 -1
  428. package/dist/lib/node-esm/query/index.mjs +0 -23
  429. package/dist/lib/node-esm/testing/index.mjs +0 -298
  430. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  431. package/dist/types/src/errors.d.ts +0 -72
  432. package/dist/types/src/errors.d.ts.map +0 -1
  433. package/dist/types/src/internal/ast/annotation-helper.d.ts +0 -8
  434. package/dist/types/src/internal/ast/annotation-helper.d.ts.map +0 -1
  435. package/dist/types/src/internal/ast/annotations.d.ts +0 -119
  436. package/dist/types/src/internal/ast/annotations.d.ts.map +0 -1
  437. package/dist/types/src/internal/ast/annotations.test.d.ts.map +0 -1
  438. package/dist/types/src/internal/ast/entity-kind.d.ts +0 -10
  439. package/dist/types/src/internal/ast/entity-kind.d.ts.map +0 -1
  440. package/dist/types/src/internal/ast/index.d.ts +0 -5
  441. package/dist/types/src/internal/ast/index.d.ts.map +0 -1
  442. package/dist/types/src/internal/ast/types.d.ts +0 -6
  443. package/dist/types/src/internal/ast/types.d.ts.map +0 -1
  444. package/dist/types/src/internal/json/annotations.d.ts.map +0 -1
  445. package/dist/types/src/internal/json/effect-schema.test.d.ts.map +0 -1
  446. package/dist/types/src/internal/json/index.d.ts +0 -2
  447. package/dist/types/src/internal/json/index.d.ts.map +0 -1
  448. package/dist/types/src/internal/json/json-schema.d.ts.map +0 -1
  449. package/dist/types/src/internal/json/json-schema.test.d.ts.map +0 -1
  450. package/dist/types/src/internal/object/accessors.d.ts +0 -29
  451. package/dist/types/src/internal/object/accessors.d.ts.map +0 -1
  452. package/dist/types/src/internal/object/create.d.ts.map +0 -1
  453. package/dist/types/src/internal/object/create.test.d.ts +0 -2
  454. package/dist/types/src/internal/object/create.test.d.ts.map +0 -1
  455. package/dist/types/src/internal/object/entity.d.ts +0 -22
  456. package/dist/types/src/internal/object/entity.d.ts.map +0 -1
  457. package/dist/types/src/internal/object/expando.d.ts +0 -14
  458. package/dist/types/src/internal/object/expando.d.ts.map +0 -1
  459. package/dist/types/src/internal/object/meta.d.ts.map +0 -1
  460. package/dist/types/src/internal/object/model.d.ts +0 -117
  461. package/dist/types/src/internal/object/model.d.ts.map +0 -1
  462. package/dist/types/src/internal/object/relation.d.ts +0 -17
  463. package/dist/types/src/internal/object/relation.d.ts.map +0 -1
  464. package/dist/types/src/internal/object/typed-relation.d.ts +0 -32
  465. package/dist/types/src/internal/object/typed-relation.d.ts.map +0 -1
  466. package/dist/types/src/internal/object/typename.d.ts +0 -15
  467. package/dist/types/src/internal/object/typename.d.ts.map +0 -1
  468. package/dist/types/src/internal/object/version.d.ts +0 -14
  469. package/dist/types/src/internal/object/version.d.ts.map +0 -1
  470. package/dist/types/src/internal/projection/compose.d.ts +0 -6
  471. package/dist/types/src/internal/projection/compose.d.ts.map +0 -1
  472. package/dist/types/src/internal/projection/compose.test.d.ts.map +0 -1
  473. package/dist/types/src/internal/projection/index.d.ts +0 -2
  474. package/dist/types/src/internal/projection/index.d.ts.map +0 -1
  475. package/dist/types/src/internal/proxy/reactive-object.d.ts +0 -15
  476. package/dist/types/src/internal/proxy/reactive-object.d.ts.map +0 -1
  477. package/dist/types/src/internal/query/index.d.ts +0 -2
  478. package/dist/types/src/internal/query/index.d.ts.map +0 -1
  479. package/dist/types/src/internal/query/query.d.ts +0 -17
  480. package/dist/types/src/internal/query/query.d.ts.map +0 -1
  481. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +0 -18
  482. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +0 -1
  483. package/dist/types/src/internal/schema/snapshot.d.ts +0 -6
  484. package/dist/types/src/internal/schema/snapshot.d.ts.map +0 -1
  485. package/dist/types/src/internal/schema/stored-schema.d.ts +0 -13
  486. package/dist/types/src/internal/schema/stored-schema.d.ts.map +0 -1
  487. package/dist/types/src/internal/testing/index.d.ts +0 -3
  488. package/dist/types/src/internal/testing/index.d.ts.map +0 -1
  489. package/dist/types/src/internal/testing/types.d.ts +0 -455
  490. package/dist/types/src/internal/testing/types.d.ts.map +0 -1
  491. package/dist/types/src/internal/testing/utils.d.ts +0 -10
  492. package/dist/types/src/internal/testing/utils.d.ts.map +0 -1
  493. package/dist/types/src/internal/types/types.d.ts +0 -79
  494. package/dist/types/src/internal/types/types.d.ts.map +0 -1
  495. package/dist/types/src/internal/types/types.test.d.ts +0 -2
  496. package/dist/types/src/internal/types/types.test.d.ts.map +0 -1
  497. package/dist/types/src/internal/types/util.d.ts +0 -5
  498. package/dist/types/src/internal/types/util.d.ts.map +0 -1
  499. package/dist/types/src/query/index.d.ts +0 -3
  500. package/dist/types/src/query/index.d.ts.map +0 -1
  501. package/dist/types/src/query/query.d.ts +0 -247
  502. package/dist/types/src/query/query.d.ts.map +0 -1
  503. package/dist/types/src/query/query.test.d.ts +0 -2
  504. package/dist/types/src/query/query.test.d.ts.map +0 -1
  505. package/dist/types/src/query/tag.d.ts +0 -18
  506. package/dist/types/src/query/tag.d.ts.map +0 -1
  507. package/dist/types/src/testing/echo-schema.d.ts +0 -7
  508. package/dist/types/src/testing/echo-schema.d.ts.map +0 -1
  509. package/dist/types/src/testing/types.d.ts +0 -113
  510. package/dist/types/src/testing/types.d.ts.map +0 -1
  511. package/src/errors.ts +0 -18
  512. package/src/internal/ast/annotation-helper.ts +0 -22
  513. package/src/internal/ast/annotations.ts +0 -212
  514. package/src/internal/ast/entity-kind.ts +0 -15
  515. package/src/internal/ast/index.ts +0 -8
  516. package/src/internal/ast/types.ts +0 -17
  517. package/src/internal/json/index.ts +0 -5
  518. package/src/internal/object/accessors.ts +0 -115
  519. package/src/internal/object/entity.ts +0 -204
  520. package/src/internal/object/expando.ts +0 -21
  521. package/src/internal/object/meta.ts +0 -62
  522. package/src/internal/object/model.ts +0 -170
  523. package/src/internal/object/relation.ts +0 -24
  524. package/src/internal/object/typed-relation.ts +0 -85
  525. package/src/internal/object/typename.ts +0 -61
  526. package/src/internal/object/version.ts +0 -22
  527. package/src/internal/projection/index.ts +0 -5
  528. package/src/internal/proxy/reactive-object.ts +0 -108
  529. package/src/internal/query/index.ts +0 -5
  530. package/src/internal/query/query.ts +0 -23
  531. package/src/internal/schema/runtime-schema-registry.ts +0 -78
  532. package/src/internal/schema/snapshot.ts +0 -25
  533. package/src/internal/schema/stored-schema.ts +0 -26
  534. package/src/internal/testing/index.ts +0 -6
  535. package/src/internal/testing/types.ts +0 -211
  536. package/src/internal/testing/utils.ts +0 -54
  537. package/src/internal/types/types.test.ts +0 -48
  538. package/src/internal/types/types.ts +0 -176
  539. package/src/internal/types/util.ts +0 -9
  540. package/src/query/index.ts +0 -6
  541. package/src/query/query.test.ts +0 -362
  542. package/src/query/query.ts +0 -784
  543. package/src/query/tag.ts +0 -35
  544. package/src/test/api.test.ts +0 -180
  545. package/src/testing/echo-schema.ts +0 -39
  546. package/src/testing/types.ts +0 -91
  547. /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
  548. /package/dist/lib/{browser/internal/index.mjs.map → neutral/Database.mjs.map} +0 -0
  549. /package/dist/lib/{browser/query/index.mjs.map → neutral/Entity.mjs.map} +0 -0
  550. /package/dist/lib/{node-esm/index.mjs.map → neutral/Err.mjs.map} +0 -0
  551. /package/dist/lib/{node-esm/internal/index.mjs.map → neutral/Feed.mjs.map} +0 -0
  552. /package/dist/lib/{node-esm/query/index.mjs.map → neutral/Filter.mjs.map} +0 -0
  553. /package/dist/types/src/internal/{ast → annotations}/annotations.test.d.ts +0 -0
  554. /package/dist/types/src/internal/{json → json-schema}/annotations.d.ts +0 -0
  555. /package/dist/types/src/internal/{json → json-schema}/effect-schema.test.d.ts +0 -0
  556. /package/dist/types/src/internal/{json → json-schema}/json-schema.test.d.ts +0 -0
  557. /package/dist/types/src/internal/{projection → schema}/compose.test.d.ts +0 -0
  558. /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
  559. /package/src/internal/{json → json-schema}/effect-schema.test.ts +0 -0
@@ -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
10
  import { type JsonSchemaType } from '../json-schema';
6
- import type { BaseObject, WithId } from '../types';
11
+ import type { AnyEntity, AnyProperties } from '../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,14 +35,17 @@ export declare const RefTypeId: unique symbol;
30
35
  /**
31
36
  * Reference Schema.
32
37
  */
33
- export interface Ref$<T extends WithId> extends Schema.SchemaClass<Ref<T>, EncodedReference> {
38
+ export interface RefSchema<T extends AnyEntity> extends Schema.SchemaClass<Ref<T>, EncodedReference> {
34
39
  }
40
+ /**
41
+ * Type of the `Ref` function and extra methods attached to it.
42
+ */
35
43
  export interface RefFn {
36
- <S extends Schema.Schema.Any>(schema: S): Ref$<Schema.Schema.Type<S>>;
44
+ <S extends Schema.Schema.Any>(schema: S): RefSchema<Schema.Schema.Type<S>>;
37
45
  /**
38
46
  * @returns True if the object is a reference.
39
47
  */
40
- isRef: (obj: any) => obj is Ref<any>;
48
+ isRef: (obj: unknown) => obj is Ref<any>;
41
49
  /**
42
50
  * @returns True if the reference points to the given object id.
43
51
  */
@@ -45,7 +53,7 @@ export interface RefFn {
45
53
  /**
46
54
  * @returns True if the schema is a reference schema.
47
55
  */
48
- isRefSchema: (schema: Schema.Schema<any, any>) => schema is Ref$<any>;
56
+ isRefSchema: (schema: Schema.Schema<any, any>) => schema is RefSchema<any>;
49
57
  /**
50
58
  * @returns True if the schema AST is a reference schema.
51
59
  */
@@ -53,7 +61,7 @@ export interface RefFn {
53
61
  /**
54
62
  * Constructs a reference that points to the given object.
55
63
  */
56
- make: <T extends WithId>(object: T) => Ref<T>;
64
+ make: <T extends AnyEntity>(object: T) => Ref<T>;
57
65
  /**
58
66
  * Constructs a reference that points to the object specified by the provided DXN.
59
67
  */
@@ -67,17 +75,19 @@ export declare const Ref: RefFn;
67
75
  * Represents materialized reference to a target.
68
76
  * This is the data type for the fields marked as ref.
69
77
  */
70
- export interface Ref<T> {
78
+ export interface Ref<T> extends Pipeable.Pipeable {
71
79
  /**
72
80
  * Target object DXN.
73
81
  */
74
82
  get dxn(): DXN;
83
+ /**
84
+ * Returns true if the reference has a target available (inlined or resolver set).
85
+ */
86
+ get isAvailable(): boolean;
75
87
  /**
76
88
  * @returns The reference target.
77
89
  * May return `undefined` if the object is not loaded in the working set.
78
90
  * Accessing this property, even if it returns `undefined` will trigger the object to be loaded to the working set.
79
- *
80
- * @reactive Supports signal subscriptions.
81
91
  */
82
92
  get target(): T | undefined;
83
93
  /**
@@ -140,11 +150,11 @@ export interface RefResolver {
140
150
  * @param load If true the resolver should attempt to load the object from disk.
141
151
  * @param onLoad Callback to call when the object is loaded.
142
152
  */
143
- resolveSync(dxn: DXN, load: boolean, onLoad?: () => void): BaseObject | undefined;
153
+ resolveSync(dxn: DXN, load: boolean, onLoad?: () => void): AnyProperties | undefined;
144
154
  /**
145
155
  * Resolver ref asynchronously.
146
156
  */
147
- resolve(dxn: DXN): Promise<BaseObject | undefined>;
157
+ resolve(dxn: DXN): Promise<AnyProperties | undefined>;
148
158
  resolveSchema(dxn: DXN): Promise<Schema.Schema.AnyNoContext | undefined>;
149
159
  }
150
160
  export declare class RefImpl<T> implements Ref<T> {
@@ -154,6 +164,10 @@ export declare class RefImpl<T> implements Ref<T> {
154
164
  * @inheritdoc
155
165
  */
156
166
  get dxn(): DXN;
167
+ /**
168
+ * @inheritdoc
169
+ */
170
+ get isAvailable(): boolean;
157
171
  /**
158
172
  * @inheritdoc
159
173
  */
@@ -181,9 +195,20 @@ export declare class RefImpl<T> implements Ref<T> {
181
195
  */
182
196
  toJSON(): EncodedReference;
183
197
  toString(): string;
198
+ [inspectCustom]: CustomInspectFunction;
184
199
  [RefTypeId]: {
185
200
  _T: any;
186
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;
187
212
  }
188
213
  /**
189
214
  * Internal API for setting the reference resolver.
@@ -192,15 +217,15 @@ export declare const setRefResolver: (ref: Ref<any>, resolver: RefResolver) => v
192
217
  /**
193
218
  * Internal API for getting the saved target on a reference.
194
219
  */
195
- export declare const getRefSavedTarget: (ref: Ref<any>) => BaseObject | undefined;
220
+ export declare const getRefSavedTarget: (ref: Ref<any>) => AnyProperties | undefined;
196
221
  export declare const refFromEncodedReference: (encodedReference: EncodedReference, resolver?: RefResolver) => Ref<any>;
197
222
  export declare class StaticRefResolver implements RefResolver {
198
- objects: Map<string, BaseObject>;
223
+ objects: Map<string, AnyProperties>;
199
224
  schemas: Map<DXN.String, Schema.Schema.AnyNoContext>;
200
- addObject(obj: BaseObject): this;
225
+ addObject(obj: AnyProperties): this;
201
226
  addSchema(schema: Schema.Schema.AnyNoContext): this;
202
- resolveSync(dxn: DXN, _load: boolean, _onLoad?: () => void): BaseObject | undefined;
203
- resolve(dxn: DXN): Promise<BaseObject | undefined>;
227
+ resolveSync(dxn: DXN, _load: boolean, _onLoad?: () => void): AnyProperties | undefined;
228
+ resolve(dxn: DXN): Promise<AnyProperties | undefined>;
204
229
  resolveSchema(dxn: DXN): Promise<Schema.Schema.AnyNoContext | undefined>;
205
230
  }
206
231
  //# sourceMappingURL=ref.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../../../src/internal/ref/ref.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../../../src/internal/ref/ref.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type * as Types from 'effect/Types';
2
+ import { type JsonSchemaType } from '../json-schema';
3
+ /**
4
+ * Creates a composite schema from the source and projection schemas.
5
+ */
6
+ export declare const composeSchema: (source: Types.Mutable<JsonSchemaType>, target: Types.Mutable<JsonSchemaType>) => Types.Mutable<JsonSchemaType>;
7
+ //# sourceMappingURL=compose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/compose.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD;;GAEG;AAGH,eAAO,MAAM,aAAa,GACxB,QAAQ,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EACrC,QAAQ,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,KACpC,KAAK,CAAC,OAAO,CAAC,cAAc,CAsB9B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/compose.test.ts"],"names":[],"mappings":""}
@@ -1,10 +1,12 @@
1
1
  import * as Schema from 'effect/Schema';
2
2
  import * as SchemaAST from 'effect/SchemaAST';
3
3
  import { type ObjectId } from '@dxos/keys';
4
- import { type SchemaMeta, SchemaMetaSymbol } from '../ast';
4
+ import type * as Type from '../../Type';
5
+ import { type SchemaMeta, SchemaMetaSymbol } from '../annotations';
5
6
  import { type JsonSchemaType } from '../json-schema';
6
7
  import { type TypedObject, type TypedObjectPrototype } from '../object';
7
- import { StoredSchema } from './stored-schema';
8
+ import { EntityKind, SchemaKindId } from '../types';
9
+ import { PersistentSchema } from './persistent-schema';
8
10
  /**
9
11
  * Base schema type.
10
12
  */
@@ -56,6 +58,7 @@ export declare class ImmutableSchema<A = any, I = any> implements BaseSchema<A,
56
58
  <A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never, L = never, M = never, N = never, O = never, P = never, Q = never, R = never, S = never, T = never, U = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K, kl: (_: K) => L, lm: (_: L) => M, mn: (_: M) => N, no: (_: N) => O, op: (_: O) => P, pq: (_: P) => Q, qr: (_: Q) => R, rs: (_: R) => S, st: (_: S) => T, tu: (_: T) => U): U;
57
59
  <A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never, L = never, M = never, N = never, O = never, P = never, Q = never, R = never, S = never, T = never, U = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K, kl: (_: K) => L, lm: (_: L) => M, mn: (_: M) => N, no: (_: N) => O, op: (_: O) => P, pq: (_: P) => Q, qr: (_: Q) => R, rs: (_: R) => S, st: (_: S) => T, tu: (_: T) => U): U;
58
60
  };
61
+ get kind(): EntityKind;
59
62
  get typename(): string;
60
63
  get version(): string;
61
64
  get readonly(): boolean;
@@ -66,7 +69,7 @@ export declare class ImmutableSchema<A = any, I = any> implements BaseSchema<A,
66
69
  export declare const isMutable: (schema: Schema.Schema.AnyNoContext) => schema is EchoSchema;
67
70
  declare const EchoSchema_base: TypedObjectPrototype<any, any>;
68
71
  /**
69
- * Represents a schema that is stored in the ECHO database.
72
+ * Represents a schema that is persisted in the ECHO database.
70
73
  * Schema can me mutable or readonly (specified by the {@link EchoSchema.readonly} field).
71
74
  *
72
75
  * Schema that can be modified at runtime via the API.
@@ -77,20 +80,25 @@ declare const EchoSchema_base: TypedObjectPrototype<any, any>;
77
80
  *
78
81
  * @example
79
82
  * ```ts
80
- * export class TableType extends Schema.Struct({...}).pipe(Type.Obj({ typename: 'example.org/type/Table', version: '0.1.0' })){
83
+ * export class TableType extends Schema.Struct({...}).pipe(Type.object({ typename: 'example.org/type/Table', version: '0.1.0' })){
81
84
  * title: Schema.String,
82
85
  * schema: Schema.optional(ref(EchoSchema)),
83
86
  * props: Schema.mutable(S.Array(TablePropSchema)),
84
87
  * }) {}
85
88
  * ```
86
89
  *
87
- * The ECHO API will translate any references to StoredSchema objects to be resolved as EchoSchema objects.
90
+ * The ECHO API will translate any references to PersistentSchema objects to be resolved as EchoSchema objects.
88
91
  */
89
92
  export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implements BaseSchema<A, I> {
90
- private readonly _storedSchema;
93
+ private readonly _persistentSchema;
91
94
  private _schema;
92
95
  private _isDirty;
93
- constructor(_storedSchema: StoredSchema);
96
+ /**
97
+ * Schema kind key that marks this as an ECHO schema.
98
+ * Makes EchoSchema satisfy the Type.AnyObj type.
99
+ */
100
+ readonly [SchemaKindId]: EntityKind.Object;
101
+ constructor(_persistentSchema: PersistentSchema);
94
102
  get [Schema.TypeId](): {
95
103
  _A: (_: any) => any;
96
104
  _I: (_: any) => any;
@@ -102,6 +110,7 @@ export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implem
102
110
  get ast(): SchemaAST.AST;
103
111
  get annotations(): (annotations: Schema.Annotations.GenericSchema<any>) => Schema.Schema<any, any, never>;
104
112
  get pipe(): Schema.Schema.AnyNoContext['pipe'];
113
+ get kind(): EntityKind.Object;
105
114
  get typename(): string;
106
115
  get version(): string;
107
116
  get readonly(): boolean;
@@ -110,7 +119,7 @@ export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implem
110
119
  */
111
120
  get snapshot(): Schema.Schema.AnyNoContext;
112
121
  /**
113
- * @reactive
122
+ * Returns the JSON schema for the schema.
114
123
  */
115
124
  get jsonSchema(): JsonSchemaType;
116
125
  /**
@@ -127,9 +136,9 @@ export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implem
127
136
  get name(): string | undefined;
128
137
  get [SchemaMetaSymbol](): SchemaMeta;
129
138
  /**
130
- * Reference to the underlying stored schema object.
139
+ * Reference to the underlying persistent schema object.
131
140
  */
132
- get storedSchema(): StoredSchema;
141
+ get persistentSchema(): Type.PersistentType;
133
142
  getProperties(): SchemaAST.PropertySignature[];
134
143
  /**
135
144
  * @throws Error if the schema is readonly.
@@ -155,14 +164,18 @@ export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implem
155
164
  */
156
165
  removeFields(fieldNames: string[]): void;
157
166
  /**
158
- * Called by EchoSchemaRegistry on update.
167
+ * Wrapper for Obj.change that handles the change context for the persistent schema.
168
+ */
169
+ private _change;
170
+ /**
171
+ * Called by DatabaseSchemaRegistry on update.
159
172
  */
160
173
  _invalidate(): void;
161
174
  /**
162
175
  * Rebuilds this schema if it is dirty.
163
176
  */
164
177
  _rebuild(): void;
165
- private _getSchema;
178
+ _getSchema(): Schema.Schema.AnyNoContext;
166
179
  }
167
180
  export {};
168
181
  //# sourceMappingURL=echo-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"echo-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/echo-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"echo-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/echo-schema.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,4 @@
1
1
  export * from './echo-schema';
2
- export * from './snapshot';
3
- export * from './stored-schema';
4
- export * from './runtime-schema-registry';
5
2
  export * from './manipulation';
6
- export * from './echo-schema';
3
+ export * from './persistent-schema';
7
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manipulation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/manipulation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAQxC,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAKhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAgBhB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,YAAY,MAAM,EAAE,KACnB,MAAM,CAAC,MAAM,CAAC,YAEhB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,mBAAmB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,KAC7D,MAAM,CAAC,MAAM,CAAC,YAehB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,YAYhB,CAAC"}
1
+ {"version":3,"file":"manipulation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/manipulation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AASxC,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAKhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAgBhB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,YAAY,MAAM,EAAE,KACnB,MAAM,CAAC,MAAM,CAAC,YAEhB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,mBAAmB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,KAC7D,MAAM,CAAC,MAAM,CAAC,YAehB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,YAiBhB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { EchoObjectSchema } from '../entities';
3
+ import { JsonSchemaType } from '../json-schema';
4
+ /**
5
+ * Persistent representation of a schema.
6
+ */
7
+ export declare const PersistentSchema: EchoObjectSchema<Schema.Struct<{
8
+ name: Schema.optional<typeof Schema.String>;
9
+ typename: Schema.refine<string, typeof Schema.String>;
10
+ version: Schema.refine<string, typeof Schema.String>;
11
+ jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
12
+ }>, Readonly<{
13
+ name: Schema.optional<typeof Schema.String>;
14
+ typename: Schema.refine<string, typeof Schema.String>;
15
+ version: Schema.refine<string, typeof Schema.String>;
16
+ jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
17
+ }>>;
18
+ export interface PersistentSchema extends Schema.Schema.Type<typeof PersistentSchema> {
19
+ }
20
+ //# sourceMappingURL=persistent-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistent-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/persistent-schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;GAEG;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;GAe5B,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC;CAAG"}
@@ -0,0 +1,27 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { type ObjectId } from '@dxos/keys';
3
+ import { type ATTR_META, type ObjectMeta } from './meta';
4
+ /**
5
+ * Base type for all data objects (reactive, ECHO, and other raw objects).
6
+ * NOTE: This describes the base type for all database objects.
7
+ * It is stricter than `T extends {}` or `T extends object`.
8
+ */
9
+ export type AnyProperties = Record<string, any>;
10
+ /**
11
+ * Canonical type for all ECHO entities (objects and relations).
12
+ * @depreacted Remove, use Entity.Unknown instead.
13
+ */
14
+ export interface AnyEntity {
15
+ readonly id: ObjectId;
16
+ }
17
+ export type ExcludeId<T extends AnyProperties> = Omit<T, 'id'>;
18
+ export type PropertyKey<T extends AnyProperties> = Extract<keyof ExcludeId<T>, string>;
19
+ type WithMeta = {
20
+ [ATTR_META]?: ObjectMeta;
21
+ };
22
+ /**
23
+ * The raw object should not include the ECHO id, but may include metadata.
24
+ */
25
+ export declare const RawObject: <S extends Schema.Schema.AnyNoContext>(schema: S) => Schema.Schema<ExcludeId<Schema.Schema.Type<S>> & WithMeta, Schema.Schema.Encoded<S>>;
26
+ export {};
27
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/base.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzD;;;;GAIG;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhD;;;GAGG;AAEH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;CACvB;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAE/D,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,aAAa,IAAI,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAGvF,KAAK,QAAQ,GAAG;IAAE,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5D,QAAQ,CAAC,KACR,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAErF,CAAC"}
@@ -0,0 +1,37 @@
1
+ import * as Schema from 'effect/Schema';
2
+ /**
3
+ * String key used to identify the kind of an entity instance (object or relation).
4
+ */
5
+ export declare const KindId: "~@dxos/echo/Kind";
6
+ export type KindId = typeof KindId;
7
+ /**
8
+ * String key used to identify the kind of a schema (object schema or relation schema).
9
+ * Parallels KindId which identifies instance kinds.
10
+ */
11
+ export declare const SchemaKindId: "~@dxos/echo/SchemaKind";
12
+ export type SchemaKindId = typeof SchemaKindId;
13
+ /**
14
+ * String key used to brand snapshot types.
15
+ * Snapshots have SnapshotKindId instead of KindId, making them
16
+ * distinguishable from reactive objects at the type level.
17
+ */
18
+ export declare const SnapshotKindId: "~@dxos/echo/SnapshotKind";
19
+ export type SnapshotKindId = typeof SnapshotKindId;
20
+ /**
21
+ * Kinds of entities stored in ECHO: objects and relations.
22
+ */
23
+ export declare enum EntityKind {
24
+ Object = "object",
25
+ Relation = "relation"
26
+ }
27
+ export declare const EntityKindSchema: Schema.Enums<typeof EntityKind>;
28
+ /**
29
+ * Typename for generic object references (Type.Obj / Ref.Ref(Obj.Unknown)).
30
+ * Used when referencing any object without a specific schema.
31
+ */
32
+ export declare const ANY_OBJECT_TYPENAME = "dxos.org/schema/AnyObject";
33
+ /**
34
+ * Version for generic object references.
35
+ */
36
+ export declare const ANY_OBJECT_VERSION = "0.0.0";
37
+ //# sourceMappingURL=entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/entity.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AASxC;;GAEG;AACH,eAAO,MAAM,MAAM,EAAG,kBAA2B,CAAC;AAClD,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAG,wBAAiC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAG,0BAAmC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AAEnD;;GAEG;AACH,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,gBAAgB,iCAA2B,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAU,CAAC"}
@@ -1,3 +1,6 @@
1
- export * from './types';
2
- export type * from './util';
1
+ export * from './base';
2
+ export * from './entity';
3
+ export * from './meta';
4
+ export * from './typename';
5
+ export * from './version';
3
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,mBAAmB,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
@@ -1,31 +1,33 @@
1
1
  import * as Schema from 'effect/Schema';
2
2
  import { ForeignKey } from '@dxos/echo-protocol';
3
3
  import { type Comparator } from '@dxos/util';
4
- import { type BaseObject } from '../types';
5
- export declare const ObjectMetaSchema: Schema.mutable<Schema.Struct<{
6
- keys: Schema.mutable<Schema.Array$<Schema.Schema<{
4
+ import type * as Entity from '../../Entity';
5
+ import { type AnyProperties } from './base';
6
+ /**
7
+ * Property name for meta when object is serialized to JSON.
8
+ */
9
+ export declare const ATTR_META = "@meta";
10
+ /**
11
+ * Metadata section.
12
+ */
13
+ export declare const MetaId: Entity.Meta;
14
+ export declare const ObjectMetaSchema: Schema.Struct<{
15
+ keys: Schema.Array$<Schema.Schema<{
7
16
  readonly id: string;
8
17
  readonly source: string;
9
18
  }, {
10
19
  readonly id: string;
11
20
  readonly source: string;
12
- }, never>>>;
21
+ }, never>>;
13
22
  /**
14
23
  * A set of tags.
15
24
  * Tags are arbitrary application-defined strings.
16
25
  * ECHO makes no assumptions about the tag structure.
17
26
  */
18
- tags: Schema.optional<Schema.mutable<Schema.Array$<typeof Schema.String>>>;
19
- }>>;
27
+ tags: Schema.optional<Schema.Array$<typeof Schema.String>>;
28
+ }>;
20
29
  export type ObjectMeta = Schema.Schema.Type<typeof ObjectMetaSchema>;
21
30
  export declare const foreignKey: (source: string, id: string) => ForeignKey;
22
31
  export declare const foreignKeyEquals: (a: ForeignKey, b: ForeignKey) => boolean;
23
- /**
24
- * Get metadata from object.
25
- * Only callable on the object root.
26
- * @deprecated Use {@link getMeta}.
27
- */
28
- export declare const getObjectMeta: (obj: any) => ObjectMeta;
29
- export declare const getMeta: (obj: BaseObject) => ObjectMeta;
30
- export declare const compareForeignKeys: Comparator<BaseObject>;
32
+ export declare const compareForeignKeys: Comparator<AnyProperties>;
31
33
  //# sourceMappingURL=meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/meta.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,YAAY,CAAC;AAE3D,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,SAAS,UAAU,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,IAA2C,CAAC;AAOxE,eAAO,MAAM,gBAAgB;;;;;;;;IAG3B;;;;OAIG;;EAKH,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAmBrE,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,IAAI,MAAM,KAAG,UAA8B,CAAC;AACvF,eAAO,MAAM,gBAAgB,GAAI,GAAG,UAAU,EAAE,GAAG,UAAU,YAA2C,CAAC;AAGzG,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC,aAAa,CACoB,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Property name for typename when object is serialized to JSON.
3
+ */
4
+ export declare const ATTR_TYPE = "@type";
5
+ /**
6
+ * DXN to the object type.
7
+ */
8
+ export declare const TypeId: unique symbol;
9
+ /**
10
+ * Reference to the object schema.
11
+ */
12
+ export declare const SchemaId: unique symbol;
13
+ /**
14
+ * Property name for parent when object is serialized to JSON.
15
+ */
16
+ export declare const ATTR_PARENT = "@parent";
17
+ /**
18
+ * Reference to the object parent.
19
+ */
20
+ export declare const ParentId: unique symbol;
21
+ //# sourceMappingURL=typename.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typename.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/typename.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,SAAS,UAAU,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,MAAM,eAAgC,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,QAAQ,eAAkC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,QAAQ,eAAkC,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Version type identifier.
3
+ */
4
+ export declare const VersionTypeId: "~@dxos/echo/VersionTypeId";
5
+ export type VersionTypeId = typeof VersionTypeId;
6
+ /**
7
+ * Represents the object version.
8
+ * May be backed by Automerge.
9
+ * Objects with no history are not versioned.
10
+ */
11
+ export interface Version {
12
+ [VersionTypeId]: {};
13
+ automergeHeads?: string[];
14
+ }
15
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/version.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,aAAa,EAAG,2BAAoC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.test.d.ts","sourceRoot":"","sources":["../../../../src/test/api.test.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"api.test.d.ts","sourceRoot":"","sources":["../../../../src/testing/api.test.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- export { prepareAstForCompare, Testing as TestingDeprecated, updateCounter } from '../internal/testing';
2
- export * from './types';
3
- export * from './echo-schema';
1
+ export * from './test-data';
2
+ export * from './test-schema';
3
+ export * from './util';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,OAAO,IAAI,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACxG,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { DatabaseDirectory } from '@dxos/echo-protocol';
2
+ export declare const PEOPLE: {
3
+ alice: DatabaseDirectory;
4
+ bob: DatabaseDirectory;
5
+ };
6
+ export declare const ORGS: {
7
+ dxos: DatabaseDirectory;
8
+ cyberdyne: DatabaseDirectory;
9
+ };
10
+ export declare const WORKS_FOR: {
11
+ fredWorksForCyberdyne: DatabaseDirectory;
12
+ aliceWorksForAperture: DatabaseDirectory;
13
+ };
14
+ export declare const TASKS: {
15
+ task1: DatabaseDirectory;
16
+ task2: DatabaseDirectory;
17
+ };
18
+ //# sourceMappingURL=test-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-data.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-data.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,qBAAqB,CAAC;AAWzE,eAAO,MAAM,MAAM;;;CAuBlB,CAAC;AAEF,eAAO,MAAM,IAAI;;;CAyBhB,CAAC;AAEF,eAAO,MAAM,SAAS;;;CA6BrB,CAAC;AAEF,eAAO,MAAM,KAAK;;;CA+BjB,CAAC"}