@dxos/echo 0.8.4-main.ae835ea → 0.8.4-main.bc674ce

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 (532) hide show
  1. package/README.md +1 -2
  2. package/dist/lib/neutral/Annotation.mjs +32 -0
  3. package/dist/lib/neutral/Database.mjs +17 -0
  4. package/dist/lib/neutral/Entity.mjs +51 -0
  5. package/dist/lib/neutral/Err.mjs +10 -0
  6. package/dist/lib/neutral/Filter.mjs +61 -0
  7. package/dist/lib/neutral/Format.mjs +66 -0
  8. package/dist/lib/neutral/JsonSchema.mjs +19 -0
  9. package/dist/lib/neutral/JsonSchema.mjs.map +7 -0
  10. package/dist/lib/neutral/Key.mjs +12 -0
  11. package/dist/lib/neutral/Key.mjs.map +7 -0
  12. package/dist/lib/neutral/Obj.mjs +90 -0
  13. package/dist/lib/neutral/Obj.mjs.map +7 -0
  14. package/dist/lib/neutral/Order.mjs +12 -0
  15. package/dist/lib/neutral/Order.mjs.map +7 -0
  16. package/dist/lib/neutral/Query.mjs +26 -0
  17. package/dist/lib/neutral/Query.mjs.map +7 -0
  18. package/dist/lib/neutral/QueryResult.mjs +2 -0
  19. package/dist/lib/neutral/QueryResult.mjs.map +7 -0
  20. package/dist/lib/neutral/Ref.mjs +22 -0
  21. package/dist/lib/neutral/Ref.mjs.map +7 -0
  22. package/dist/lib/neutral/Relation.mjs +84 -0
  23. package/dist/lib/neutral/Relation.mjs.map +7 -0
  24. package/dist/lib/neutral/SchemaRegistry.mjs +2 -0
  25. package/dist/lib/neutral/SchemaRegistry.mjs.map +7 -0
  26. package/dist/lib/neutral/Tag.mjs +25 -0
  27. package/dist/lib/neutral/Tag.mjs.map +7 -0
  28. package/dist/lib/neutral/Type.mjs +47 -0
  29. package/dist/lib/neutral/Type.mjs.map +7 -0
  30. package/dist/lib/neutral/chunk-2MTHJ5UW.mjs +203 -0
  31. package/dist/lib/neutral/chunk-2MTHJ5UW.mjs.map +7 -0
  32. package/dist/lib/neutral/chunk-3ZEAZF7T.mjs +23 -0
  33. package/dist/lib/neutral/chunk-3ZEAZF7T.mjs.map +7 -0
  34. package/dist/lib/neutral/chunk-4L6DOFXP.mjs +7 -0
  35. package/dist/lib/neutral/chunk-4L6DOFXP.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-4TT624YA.mjs +73 -0
  37. package/dist/lib/neutral/chunk-4TT624YA.mjs.map +7 -0
  38. package/dist/lib/neutral/chunk-62DWJ6CE.mjs +402 -0
  39. package/dist/lib/neutral/chunk-62DWJ6CE.mjs.map +7 -0
  40. package/dist/lib/neutral/chunk-6QPSGMEF.mjs +97 -0
  41. package/dist/lib/neutral/chunk-6QPSGMEF.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-ANHVGJI4.mjs +21 -0
  43. package/dist/lib/neutral/chunk-ANHVGJI4.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-CUDIBUM4.mjs +282 -0
  45. package/dist/lib/neutral/chunk-CUDIBUM4.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-HMOXCO27.mjs +40 -0
  47. package/dist/lib/neutral/chunk-HMOXCO27.mjs.map +7 -0
  48. package/dist/lib/neutral/chunk-IP2GHXWA.mjs +56 -0
  49. package/dist/lib/neutral/chunk-IP2GHXWA.mjs.map +7 -0
  50. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  51. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  52. package/dist/lib/neutral/chunk-KRHDMXSU.mjs +132 -0
  53. package/dist/lib/neutral/chunk-KRHDMXSU.mjs.map +7 -0
  54. package/dist/lib/neutral/chunk-NWUO5FKZ.mjs +39 -0
  55. package/dist/lib/neutral/chunk-NWUO5FKZ.mjs.map +7 -0
  56. package/dist/lib/neutral/chunk-OMUPQMLR.mjs +7 -0
  57. package/dist/lib/neutral/chunk-OMUPQMLR.mjs.map +7 -0
  58. package/dist/lib/neutral/chunk-ROKO4RKJ.mjs +42 -0
  59. package/dist/lib/neutral/chunk-ROKO4RKJ.mjs.map +7 -0
  60. package/dist/lib/neutral/chunk-RPB6V4BE.mjs +38 -0
  61. package/dist/lib/neutral/chunk-RPB6V4BE.mjs.map +7 -0
  62. package/dist/lib/neutral/chunk-SU2LVM7J.mjs +3846 -0
  63. package/dist/lib/neutral/chunk-SU2LVM7J.mjs.map +7 -0
  64. package/dist/lib/neutral/chunk-VB5HVDCA.mjs +287 -0
  65. package/dist/lib/neutral/chunk-VB5HVDCA.mjs.map +7 -0
  66. package/dist/lib/neutral/chunk-VR4A4WGG.mjs +249 -0
  67. package/dist/lib/neutral/chunk-VR4A4WGG.mjs.map +7 -0
  68. package/dist/lib/neutral/chunk-X2MPMYYN.mjs +13 -0
  69. package/dist/lib/neutral/chunk-X2MPMYYN.mjs.map +7 -0
  70. package/dist/lib/neutral/chunk-XK5OUUBY.mjs +157 -0
  71. package/dist/lib/neutral/chunk-XK5OUUBY.mjs.map +7 -0
  72. package/dist/lib/neutral/chunk-XMIDBDE6.mjs +142 -0
  73. package/dist/lib/neutral/chunk-XMIDBDE6.mjs.map +7 -0
  74. package/dist/lib/neutral/chunk-YQYMWZAD.mjs +67 -0
  75. package/dist/lib/neutral/chunk-YQYMWZAD.mjs.map +7 -0
  76. package/dist/lib/neutral/index.mjs +84 -0
  77. package/dist/lib/neutral/index.mjs.map +7 -0
  78. package/dist/lib/{node-esm → neutral}/internal/index.mjs +245 -125
  79. package/dist/lib/neutral/internal/index.mjs.map +7 -0
  80. package/dist/lib/neutral/meta.json +1 -0
  81. package/dist/lib/neutral/testing/index.mjs +366 -0
  82. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  83. package/dist/types/src/Annotation.d.ts +2 -0
  84. package/dist/types/src/Annotation.d.ts.map +1 -0
  85. package/dist/types/src/Database.d.ts +194 -0
  86. package/dist/types/src/Database.d.ts.map +1 -0
  87. package/dist/types/src/Entity.d.ts +142 -0
  88. package/dist/types/src/Entity.d.ts.map +1 -0
  89. package/dist/types/src/Entity.test.d.ts +2 -0
  90. package/dist/types/src/Entity.test.d.ts.map +1 -0
  91. package/dist/types/src/{errors.d.ts → Err.d.ts} +23 -31
  92. package/dist/types/src/Err.d.ts.map +1 -0
  93. package/dist/types/src/Filter.d.ts +120 -0
  94. package/dist/types/src/Filter.d.ts.map +1 -0
  95. package/dist/types/src/Format.d.ts +4 -0
  96. package/dist/types/src/Format.d.ts.map +1 -0
  97. package/dist/types/src/Hypergraph.d.ts +60 -0
  98. package/dist/types/src/Hypergraph.d.ts.map +1 -0
  99. package/dist/types/src/JsonSchema.d.ts +9 -0
  100. package/dist/types/src/JsonSchema.d.ts.map +1 -0
  101. package/dist/types/src/Key.d.ts +1 -0
  102. package/dist/types/src/Key.d.ts.map +1 -1
  103. package/dist/types/src/Obj.d.ts +302 -99
  104. package/dist/types/src/Obj.d.ts.map +1 -1
  105. package/dist/types/src/Obj.test.d.ts +2 -0
  106. package/dist/types/src/Obj.test.d.ts.map +1 -0
  107. package/dist/types/src/Order.d.ts +16 -0
  108. package/dist/types/src/Order.d.ts.map +1 -0
  109. package/dist/types/src/Query.d.ts +115 -0
  110. package/dist/types/src/Query.d.ts.map +1 -0
  111. package/dist/types/src/Query.test.d.ts +2 -0
  112. package/dist/types/src/Query.test.d.ts.map +1 -0
  113. package/dist/types/src/QueryResult.d.ts +80 -0
  114. package/dist/types/src/QueryResult.d.ts.map +1 -0
  115. package/dist/types/src/Ref.d.ts +13 -11
  116. package/dist/types/src/Ref.d.ts.map +1 -1
  117. package/dist/types/src/Relation.d.ts +242 -22
  118. package/dist/types/src/Relation.d.ts.map +1 -1
  119. package/dist/types/src/Relation.test.d.ts +2 -0
  120. package/dist/types/src/Relation.test.d.ts.map +1 -0
  121. package/dist/types/src/SchemaRegistry.d.ts +84 -0
  122. package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
  123. package/dist/types/src/Tag.d.ts +17 -0
  124. package/dist/types/src/Tag.d.ts.map +1 -0
  125. package/dist/types/src/Type.d.ts +225 -72
  126. package/dist/types/src/Type.d.ts.map +1 -1
  127. package/dist/types/src/Type.test.d.ts +2 -0
  128. package/dist/types/src/Type.test.d.ts.map +1 -0
  129. package/dist/types/src/index.d.ts +15 -5
  130. package/dist/types/src/index.d.ts.map +1 -1
  131. package/dist/types/src/internal/annotations/annotations.d.ts +170 -0
  132. package/dist/types/src/internal/annotations/annotations.d.ts.map +1 -0
  133. package/dist/types/src/internal/annotations/annotations.test.d.ts.map +1 -0
  134. package/dist/types/src/internal/annotations/index.d.ts +3 -0
  135. package/dist/types/src/internal/annotations/index.d.ts.map +1 -0
  136. package/dist/types/src/internal/annotations/util.d.ts +27 -0
  137. package/dist/types/src/internal/annotations/util.d.ts.map +1 -0
  138. package/dist/types/src/internal/api/annotations.d.ts +23 -0
  139. package/dist/types/src/internal/api/annotations.d.ts.map +1 -0
  140. package/dist/types/src/internal/api/entity.d.ts +13 -0
  141. package/dist/types/src/internal/api/entity.d.ts.map +1 -0
  142. package/dist/types/src/internal/api/index.d.ts +15 -0
  143. package/dist/types/src/internal/api/index.d.ts.map +1 -0
  144. package/dist/types/src/internal/api/meta.d.ts +42 -0
  145. package/dist/types/src/internal/api/meta.d.ts.map +1 -0
  146. package/dist/types/src/internal/api/sorting.d.ts +24 -0
  147. package/dist/types/src/internal/api/sorting.d.ts.map +1 -0
  148. package/dist/types/src/internal/api/version.d.ts +42 -0
  149. package/dist/types/src/internal/api/version.d.ts.map +1 -0
  150. package/dist/types/src/internal/entities/entity.d.ts +20 -0
  151. package/dist/types/src/internal/entities/entity.d.ts.map +1 -0
  152. package/dist/types/src/internal/entities/index.d.ts +6 -0
  153. package/dist/types/src/internal/entities/index.d.ts.map +1 -0
  154. package/dist/types/src/internal/entities/model.d.ts +77 -0
  155. package/dist/types/src/internal/entities/model.d.ts.map +1 -0
  156. package/dist/types/src/internal/entities/object.d.ts +18 -0
  157. package/dist/types/src/internal/entities/object.d.ts.map +1 -0
  158. package/dist/types/src/internal/entities/relation.d.ts +62 -0
  159. package/dist/types/src/internal/entities/relation.d.ts.map +1 -0
  160. package/dist/types/src/internal/entities/util.d.ts +2 -0
  161. package/dist/types/src/internal/entities/util.d.ts.map +1 -0
  162. package/dist/types/src/internal/formats/format.d.ts +4 -2
  163. package/dist/types/src/internal/formats/format.d.ts.map +1 -1
  164. package/dist/types/src/internal/formats/select.d.ts +6 -4
  165. package/dist/types/src/internal/formats/select.d.ts.map +1 -1
  166. package/dist/types/src/internal/formats/string.d.ts +4 -0
  167. package/dist/types/src/internal/formats/string.d.ts.map +1 -1
  168. package/dist/types/src/internal/formats/types.d.ts +13 -9
  169. package/dist/types/src/internal/formats/types.d.ts.map +1 -1
  170. package/dist/types/src/internal/index.d.ts +7 -10
  171. package/dist/types/src/internal/index.d.ts.map +1 -1
  172. package/dist/types/src/internal/json-schema/annotations.d.ts.map +1 -0
  173. package/dist/types/src/internal/json-schema/effect-schema.test.d.ts.map +1 -0
  174. package/dist/types/src/internal/json-schema/index.d.ts +2 -0
  175. package/dist/types/src/internal/json-schema/index.d.ts.map +1 -1
  176. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +1 -1
  177. package/dist/types/src/internal/json-schema/json-schema-type.d.ts +130 -29
  178. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -1
  179. package/dist/types/src/internal/{json → json-schema}/json-schema.d.ts +4 -2
  180. package/dist/types/src/internal/json-schema/json-schema.d.ts.map +1 -0
  181. package/dist/types/src/internal/json-schema/json-schema.test.d.ts.map +1 -0
  182. package/dist/types/src/internal/object/clone.d.ts +8 -0
  183. package/dist/types/src/internal/object/clone.d.ts.map +1 -0
  184. package/dist/types/src/internal/object/common.d.ts.map +1 -1
  185. package/dist/types/src/internal/object/{create.d.ts → create-object.d.ts} +10 -11
  186. package/dist/types/src/internal/object/create-object.d.ts.map +1 -0
  187. package/dist/types/src/internal/object/create-object.test.d.ts +2 -0
  188. package/dist/types/src/internal/object/create-object.test.d.ts.map +1 -0
  189. package/dist/types/src/internal/object/deleted.d.ts +2 -2
  190. package/dist/types/src/internal/object/deleted.d.ts.map +1 -1
  191. package/dist/types/src/internal/object/ids.d.ts.map +1 -1
  192. package/dist/types/src/internal/object/index.d.ts +6 -11
  193. package/dist/types/src/internal/object/index.d.ts.map +1 -1
  194. package/dist/types/src/internal/object/json-serializer.d.ts +14 -9
  195. package/dist/types/src/internal/object/json-serializer.d.ts.map +1 -1
  196. package/dist/types/src/internal/object/schema-validator.d.ts +1 -14
  197. package/dist/types/src/internal/object/schema-validator.d.ts.map +1 -1
  198. package/dist/types/src/internal/object/set-value.d.ts +7 -0
  199. package/dist/types/src/internal/object/set-value.d.ts.map +1 -0
  200. package/dist/types/src/internal/object/set-value.test.d.ts +2 -0
  201. package/dist/types/src/internal/object/set-value.test.d.ts.map +1 -0
  202. package/dist/types/src/internal/object/snapshot.d.ts +6 -0
  203. package/dist/types/src/internal/object/snapshot.d.ts.map +1 -0
  204. package/dist/types/src/internal/object/typed-object.d.ts +8 -14
  205. package/dist/types/src/internal/object/typed-object.d.ts.map +1 -1
  206. package/dist/types/src/internal/proxy/change-context.d.ts +55 -0
  207. package/dist/types/src/internal/proxy/change-context.d.ts.map +1 -0
  208. package/dist/types/src/internal/proxy/change.test.d.ts +2 -0
  209. package/dist/types/src/internal/proxy/change.test.d.ts.map +1 -0
  210. package/dist/types/src/internal/proxy/define-hidden-property.d.ts +5 -0
  211. package/dist/types/src/internal/proxy/define-hidden-property.d.ts.map +1 -0
  212. package/dist/types/src/internal/proxy/errors.d.ts +19 -0
  213. package/dist/types/src/internal/proxy/errors.d.ts.map +1 -0
  214. package/dist/types/src/internal/proxy/event-batch.d.ts +10 -0
  215. package/dist/types/src/internal/proxy/event-batch.d.ts.map +1 -0
  216. package/dist/types/src/internal/proxy/index.d.ts +14 -0
  217. package/dist/types/src/internal/proxy/index.d.ts.map +1 -0
  218. package/dist/types/src/internal/proxy/json-serializer.d.ts +6 -0
  219. package/dist/types/src/internal/proxy/json-serializer.d.ts.map +1 -0
  220. package/dist/types/src/internal/proxy/make-object.d.ts +14 -0
  221. package/dist/types/src/internal/proxy/make-object.d.ts.map +1 -0
  222. package/dist/types/src/internal/proxy/ownership.d.ts +57 -0
  223. package/dist/types/src/internal/proxy/ownership.d.ts.map +1 -0
  224. package/dist/types/src/internal/proxy/proxy-types.d.ts +18 -0
  225. package/dist/types/src/internal/proxy/proxy-types.d.ts.map +1 -0
  226. package/dist/types/src/internal/proxy/proxy-utils.d.ts +47 -0
  227. package/dist/types/src/internal/proxy/proxy-utils.d.ts.map +1 -0
  228. package/dist/types/src/internal/proxy/reactive-array.d.ts +8 -0
  229. package/dist/types/src/internal/proxy/reactive-array.d.ts.map +1 -0
  230. package/dist/types/src/internal/proxy/reactive.d.ts +39 -0
  231. package/dist/types/src/internal/proxy/reactive.d.ts.map +1 -0
  232. package/dist/types/src/internal/proxy/schema-validator.d.ts +15 -0
  233. package/dist/types/src/internal/proxy/schema-validator.d.ts.map +1 -0
  234. package/dist/types/src/internal/proxy/symbols.d.ts +3 -0
  235. package/dist/types/src/internal/proxy/symbols.d.ts.map +1 -0
  236. package/dist/types/src/internal/proxy/typed-handler.d.ts +15 -12
  237. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +1 -1
  238. package/dist/types/src/internal/ref/ref-array.d.ts +4 -4
  239. package/dist/types/src/internal/ref/ref-array.d.ts.map +1 -1
  240. package/dist/types/src/internal/ref/ref.d.ts +29 -17
  241. package/dist/types/src/internal/ref/ref.d.ts.map +1 -1
  242. package/dist/types/src/internal/schema/compose.d.ts +7 -0
  243. package/dist/types/src/internal/schema/compose.d.ts.map +1 -0
  244. package/dist/types/src/internal/schema/compose.test.d.ts.map +1 -0
  245. package/dist/types/src/internal/schema/echo-schema.d.ts +24 -12
  246. package/dist/types/src/internal/schema/echo-schema.d.ts.map +1 -1
  247. package/dist/types/src/internal/schema/index.d.ts +1 -4
  248. package/dist/types/src/internal/schema/index.d.ts.map +1 -1
  249. package/dist/types/src/internal/schema/persistent-schema.d.ts +20 -0
  250. package/dist/types/src/internal/schema/persistent-schema.d.ts.map +1 -0
  251. package/dist/types/src/internal/types/base.d.ts +26 -0
  252. package/dist/types/src/internal/types/base.d.ts.map +1 -0
  253. package/dist/types/src/internal/types/entity.d.ts +37 -0
  254. package/dist/types/src/internal/types/entity.d.ts.map +1 -0
  255. package/dist/types/src/internal/types/index.d.ts +5 -2
  256. package/dist/types/src/internal/types/index.d.ts.map +1 -1
  257. package/dist/types/src/internal/{object → types}/meta.d.ts +17 -16
  258. package/dist/types/src/internal/types/meta.d.ts.map +1 -0
  259. package/dist/types/src/internal/types/typename.d.ts +13 -0
  260. package/dist/types/src/internal/types/typename.d.ts.map +1 -0
  261. package/dist/types/src/internal/{object → types}/version.d.ts +3 -2
  262. package/dist/types/src/internal/types/version.d.ts.map +1 -0
  263. package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
  264. package/dist/types/src/testing/index.d.ts +3 -3
  265. package/dist/types/src/testing/index.d.ts.map +1 -1
  266. package/dist/types/src/testing/test-data.d.ts +18 -0
  267. package/dist/types/src/testing/test-data.d.ts.map +1 -0
  268. package/dist/types/src/testing/test-schema.d.ts +303 -0
  269. package/dist/types/src/testing/test-schema.d.ts.map +1 -0
  270. package/dist/types/src/testing/util.d.ts +21 -0
  271. package/dist/types/src/testing/util.d.ts.map +1 -0
  272. package/dist/types/tsconfig.tsbuildinfo +1 -1
  273. package/package.json +101 -65
  274. package/src/Annotation.ts +18 -0
  275. package/src/Database.ts +336 -0
  276. package/src/Entity.test.ts +22 -0
  277. package/src/Entity.ts +217 -0
  278. package/src/{errors.ts → Err.ts} +2 -2
  279. package/src/Filter.ts +376 -0
  280. package/src/Format.ts +9 -0
  281. package/src/Hypergraph.ts +74 -0
  282. package/src/JsonSchema.ts +16 -0
  283. package/src/Key.ts +3 -0
  284. package/src/Obj.test.ts +386 -0
  285. package/src/Obj.ts +449 -275
  286. package/src/Order.ts +44 -0
  287. package/src/Query.test.ts +465 -0
  288. package/src/Query.ts +296 -0
  289. package/src/QueryResult.ts +106 -0
  290. package/src/Ref.ts +26 -9
  291. package/src/Relation.test.ts +82 -0
  292. package/src/Relation.ts +411 -60
  293. package/src/SchemaRegistry.ts +105 -0
  294. package/src/{query/tag.ts → Tag.ts} +10 -7
  295. package/src/Type.test.ts +52 -0
  296. package/src/Type.ts +361 -114
  297. package/src/index.ts +16 -6
  298. package/src/internal/README.md +102 -0
  299. package/src/internal/{ast → annotations}/annotations.test.ts +18 -20
  300. package/src/internal/annotations/annotations.ts +460 -0
  301. package/src/internal/annotations/index.ts +6 -0
  302. package/src/internal/annotations/util.ts +72 -0
  303. package/src/internal/api/annotations.ts +60 -0
  304. package/src/internal/api/entity.ts +29 -0
  305. package/src/internal/api/index.ts +19 -0
  306. package/src/internal/api/meta.ts +88 -0
  307. package/src/internal/api/sorting.ts +53 -0
  308. package/src/internal/api/version.ts +96 -0
  309. package/src/internal/entities/entity.ts +126 -0
  310. package/src/internal/entities/index.ts +9 -0
  311. package/src/internal/entities/model.ts +134 -0
  312. package/src/internal/entities/object.ts +58 -0
  313. package/src/internal/entities/relation.ts +171 -0
  314. package/src/internal/entities/util.ts +33 -0
  315. package/src/internal/formats/date.test.ts +1 -1
  316. package/src/internal/formats/date.ts +5 -5
  317. package/src/internal/formats/format.test.ts +6 -6
  318. package/src/internal/formats/format.ts +8 -6
  319. package/src/internal/formats/number.ts +5 -5
  320. package/src/internal/formats/object.ts +4 -4
  321. package/src/internal/formats/select.ts +6 -4
  322. package/src/internal/formats/string.ts +14 -9
  323. package/src/internal/formats/types.ts +53 -42
  324. package/src/internal/index.ts +30 -13
  325. package/src/internal/{json → json-schema}/annotations.ts +1 -1
  326. package/src/internal/json-schema/index.ts +2 -0
  327. package/src/internal/json-schema/json-schema-normalize.ts +4 -2
  328. package/src/internal/json-schema/json-schema-type.ts +35 -35
  329. package/src/internal/{json → json-schema}/json-schema.test.ts +73 -69
  330. package/src/internal/{json → json-schema}/json-schema.ts +27 -14
  331. package/src/internal/object/clone.ts +48 -0
  332. package/src/internal/object/common.ts +3 -4
  333. package/src/internal/object/{create.test.ts → create-object.test.ts} +31 -33
  334. package/src/internal/object/{create.ts → create-object.ts} +36 -37
  335. package/src/internal/object/deleted.ts +6 -6
  336. package/src/internal/object/ids.ts +1 -1
  337. package/src/internal/object/index.ts +6 -11
  338. package/src/internal/object/inspect.ts +5 -7
  339. package/src/internal/object/json-serializer.test.ts +36 -37
  340. package/src/internal/object/json-serializer.ts +65 -102
  341. package/src/internal/object/schema-validator.test.ts +3 -7
  342. package/src/internal/object/schema-validator.ts +2 -237
  343. package/src/internal/object/set-value.test.ts +281 -0
  344. package/src/internal/object/set-value.ts +165 -0
  345. package/src/internal/object/snapshot.ts +70 -0
  346. package/src/internal/object/typed-object.test.ts +11 -11
  347. package/src/internal/object/typed-object.ts +8 -66
  348. package/src/internal/proxy/change-context.ts +138 -0
  349. package/src/internal/proxy/change.test.ts +519 -0
  350. package/src/internal/proxy/define-hidden-property.ts +14 -0
  351. package/src/internal/proxy/errors.ts +42 -0
  352. package/src/internal/proxy/event-batch.ts +44 -0
  353. package/src/internal/proxy/handler.test.ts +51 -91
  354. package/src/internal/proxy/index.ts +17 -0
  355. package/src/internal/proxy/json-serializer.ts +87 -0
  356. package/src/internal/proxy/make-object.ts +96 -0
  357. package/src/internal/proxy/ownership.ts +253 -0
  358. package/src/internal/proxy/proxy-types.ts +23 -0
  359. package/src/internal/proxy/proxy-utils.ts +150 -0
  360. package/src/internal/proxy/reactive-array.ts +71 -0
  361. package/src/internal/proxy/reactive.ts +69 -0
  362. package/src/internal/proxy/schema-validator.ts +244 -0
  363. package/src/internal/proxy/schema.test.ts +27 -18
  364. package/src/internal/proxy/symbols.ts +7 -0
  365. package/src/internal/proxy/typed-handler.test.ts +260 -48
  366. package/src/internal/proxy/typed-handler.ts +275 -61
  367. package/src/internal/proxy/typed-object.test.ts +54 -38
  368. package/src/internal/ref/ref-array.ts +4 -4
  369. package/src/internal/ref/ref.test.ts +10 -9
  370. package/src/internal/ref/ref.ts +83 -55
  371. package/src/internal/{projection → schema}/compose.test.ts +8 -9
  372. package/src/internal/{projection → schema}/compose.ts +13 -8
  373. package/src/internal/schema/echo-schema.ts +73 -33
  374. package/src/internal/schema/index.ts +1 -4
  375. package/src/internal/schema/manipulation.ts +1 -1
  376. package/src/internal/schema/persistent-schema.ts +27 -0
  377. package/src/internal/types/base.ts +43 -0
  378. package/src/internal/types/entity.ts +54 -0
  379. package/src/internal/types/index.ts +5 -2
  380. package/src/internal/types/meta.ts +65 -0
  381. package/src/internal/types/typename.ts +45 -0
  382. package/src/internal/types/version.ts +20 -0
  383. package/src/testing/api.test.ts +126 -0
  384. package/src/testing/index.ts +3 -3
  385. package/src/testing/test-data.ts +130 -0
  386. package/src/testing/test-schema.ts +238 -0
  387. package/src/testing/util.ts +85 -0
  388. package/dist/lib/browser/chunk-JUTFUT73.mjs +0 -175
  389. package/dist/lib/browser/chunk-JUTFUT73.mjs.map +0 -7
  390. package/dist/lib/browser/chunk-KEBVBR65.mjs +0 -3727
  391. package/dist/lib/browser/chunk-KEBVBR65.mjs.map +0 -7
  392. package/dist/lib/browser/chunk-WO76TDT6.mjs +0 -814
  393. package/dist/lib/browser/chunk-WO76TDT6.mjs.map +0 -7
  394. package/dist/lib/browser/index.mjs +0 -35
  395. package/dist/lib/browser/internal/index.mjs +0 -336
  396. package/dist/lib/browser/meta.json +0 -1
  397. package/dist/lib/browser/query/index.mjs +0 -15
  398. package/dist/lib/browser/testing/index.mjs +0 -283
  399. package/dist/lib/browser/testing/index.mjs.map +0 -7
  400. package/dist/lib/node-esm/chunk-DWZYQ2UR.mjs +0 -3727
  401. package/dist/lib/node-esm/chunk-DWZYQ2UR.mjs.map +0 -7
  402. package/dist/lib/node-esm/chunk-KBD3A2I6.mjs +0 -175
  403. package/dist/lib/node-esm/chunk-KBD3A2I6.mjs.map +0 -7
  404. package/dist/lib/node-esm/chunk-ZSSII3JW.mjs +0 -814
  405. package/dist/lib/node-esm/chunk-ZSSII3JW.mjs.map +0 -7
  406. package/dist/lib/node-esm/index.mjs +0 -35
  407. package/dist/lib/node-esm/meta.json +0 -1
  408. package/dist/lib/node-esm/query/index.mjs +0 -15
  409. package/dist/lib/node-esm/testing/index.mjs +0 -283
  410. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  411. package/dist/types/src/errors.d.ts.map +0 -1
  412. package/dist/types/src/internal/ast/annotation-helper.d.ts +0 -8
  413. package/dist/types/src/internal/ast/annotation-helper.d.ts.map +0 -1
  414. package/dist/types/src/internal/ast/annotations.d.ts +0 -131
  415. package/dist/types/src/internal/ast/annotations.d.ts.map +0 -1
  416. package/dist/types/src/internal/ast/annotations.test.d.ts.map +0 -1
  417. package/dist/types/src/internal/ast/entity-kind.d.ts +0 -10
  418. package/dist/types/src/internal/ast/entity-kind.d.ts.map +0 -1
  419. package/dist/types/src/internal/ast/index.d.ts +0 -5
  420. package/dist/types/src/internal/ast/index.d.ts.map +0 -1
  421. package/dist/types/src/internal/ast/types.d.ts +0 -6
  422. package/dist/types/src/internal/ast/types.d.ts.map +0 -1
  423. package/dist/types/src/internal/json/annotations.d.ts.map +0 -1
  424. package/dist/types/src/internal/json/effect-schema.test.d.ts.map +0 -1
  425. package/dist/types/src/internal/json/index.d.ts +0 -2
  426. package/dist/types/src/internal/json/index.d.ts.map +0 -1
  427. package/dist/types/src/internal/json/json-schema.d.ts.map +0 -1
  428. package/dist/types/src/internal/json/json-schema.test.d.ts.map +0 -1
  429. package/dist/types/src/internal/object/accessors.d.ts +0 -37
  430. package/dist/types/src/internal/object/accessors.d.ts.map +0 -1
  431. package/dist/types/src/internal/object/create.d.ts.map +0 -1
  432. package/dist/types/src/internal/object/create.test.d.ts +0 -2
  433. package/dist/types/src/internal/object/create.test.d.ts.map +0 -1
  434. package/dist/types/src/internal/object/entity.d.ts +0 -33
  435. package/dist/types/src/internal/object/entity.d.ts.map +0 -1
  436. package/dist/types/src/internal/object/expando.d.ts +0 -14
  437. package/dist/types/src/internal/object/expando.d.ts.map +0 -1
  438. package/dist/types/src/internal/object/meta.d.ts.map +0 -1
  439. package/dist/types/src/internal/object/model.d.ts +0 -117
  440. package/dist/types/src/internal/object/model.d.ts.map +0 -1
  441. package/dist/types/src/internal/object/relation.d.ts +0 -17
  442. package/dist/types/src/internal/object/relation.d.ts.map +0 -1
  443. package/dist/types/src/internal/object/typename.d.ts +0 -15
  444. package/dist/types/src/internal/object/typename.d.ts.map +0 -1
  445. package/dist/types/src/internal/object/version.d.ts.map +0 -1
  446. package/dist/types/src/internal/projection/compose.d.ts +0 -6
  447. package/dist/types/src/internal/projection/compose.d.ts.map +0 -1
  448. package/dist/types/src/internal/projection/compose.test.d.ts.map +0 -1
  449. package/dist/types/src/internal/projection/index.d.ts +0 -2
  450. package/dist/types/src/internal/projection/index.d.ts.map +0 -1
  451. package/dist/types/src/internal/proxy/reactive-object.d.ts +0 -15
  452. package/dist/types/src/internal/proxy/reactive-object.d.ts.map +0 -1
  453. package/dist/types/src/internal/query/index.d.ts +0 -2
  454. package/dist/types/src/internal/query/index.d.ts.map +0 -1
  455. package/dist/types/src/internal/query/query.d.ts +0 -17
  456. package/dist/types/src/internal/query/query.d.ts.map +0 -1
  457. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +0 -18
  458. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +0 -1
  459. package/dist/types/src/internal/schema/snapshot.d.ts +0 -6
  460. package/dist/types/src/internal/schema/snapshot.d.ts.map +0 -1
  461. package/dist/types/src/internal/schema/stored-schema.d.ts +0 -13
  462. package/dist/types/src/internal/schema/stored-schema.d.ts.map +0 -1
  463. package/dist/types/src/internal/testing/index.d.ts +0 -3
  464. package/dist/types/src/internal/testing/index.d.ts.map +0 -1
  465. package/dist/types/src/internal/testing/types.d.ts +0 -455
  466. package/dist/types/src/internal/testing/types.d.ts.map +0 -1
  467. package/dist/types/src/internal/testing/utils.d.ts +0 -10
  468. package/dist/types/src/internal/testing/utils.d.ts.map +0 -1
  469. package/dist/types/src/internal/types/types.d.ts +0 -79
  470. package/dist/types/src/internal/types/types.d.ts.map +0 -1
  471. package/dist/types/src/internal/types/types.test.d.ts +0 -2
  472. package/dist/types/src/internal/types/types.test.d.ts.map +0 -1
  473. package/dist/types/src/internal/types/util.d.ts +0 -5
  474. package/dist/types/src/internal/types/util.d.ts.map +0 -1
  475. package/dist/types/src/query/index.d.ts +0 -3
  476. package/dist/types/src/query/index.d.ts.map +0 -1
  477. package/dist/types/src/query/query.d.ts +0 -248
  478. package/dist/types/src/query/query.d.ts.map +0 -1
  479. package/dist/types/src/query/query.test.d.ts +0 -2
  480. package/dist/types/src/query/query.test.d.ts.map +0 -1
  481. package/dist/types/src/query/tag.d.ts +0 -17
  482. package/dist/types/src/query/tag.d.ts.map +0 -1
  483. package/dist/types/src/testing/echo-schema.d.ts +0 -7
  484. package/dist/types/src/testing/echo-schema.d.ts.map +0 -1
  485. package/dist/types/src/testing/types.d.ts +0 -113
  486. package/dist/types/src/testing/types.d.ts.map +0 -1
  487. package/src/internal/ast/annotation-helper.ts +0 -22
  488. package/src/internal/ast/annotations.ts +0 -226
  489. package/src/internal/ast/entity-kind.ts +0 -15
  490. package/src/internal/ast/index.ts +0 -8
  491. package/src/internal/ast/types.ts +0 -17
  492. package/src/internal/json/index.ts +0 -5
  493. package/src/internal/object/accessors.ts +0 -153
  494. package/src/internal/object/entity.ts +0 -248
  495. package/src/internal/object/expando.ts +0 -21
  496. package/src/internal/object/meta.ts +0 -61
  497. package/src/internal/object/model.ts +0 -170
  498. package/src/internal/object/relation.ts +0 -24
  499. package/src/internal/object/typename.ts +0 -61
  500. package/src/internal/object/version.ts +0 -22
  501. package/src/internal/projection/index.ts +0 -5
  502. package/src/internal/proxy/reactive-object.ts +0 -108
  503. package/src/internal/query/index.ts +0 -5
  504. package/src/internal/query/query.ts +0 -23
  505. package/src/internal/schema/runtime-schema-registry.ts +0 -78
  506. package/src/internal/schema/snapshot.ts +0 -25
  507. package/src/internal/schema/stored-schema.ts +0 -26
  508. package/src/internal/testing/index.ts +0 -6
  509. package/src/internal/testing/types.ts +0 -211
  510. package/src/internal/testing/utils.ts +0 -54
  511. package/src/internal/types/types.test.ts +0 -48
  512. package/src/internal/types/types.ts +0 -176
  513. package/src/internal/types/util.ts +0 -9
  514. package/src/query/index.ts +0 -6
  515. package/src/query/query.test.ts +0 -401
  516. package/src/query/query.ts +0 -789
  517. package/src/test/api.test.ts +0 -180
  518. package/src/testing/echo-schema.ts +0 -39
  519. package/src/testing/types.ts +0 -91
  520. /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
  521. /package/dist/lib/{browser/internal/index.mjs.map → neutral/Database.mjs.map} +0 -0
  522. /package/dist/lib/{browser/query/index.mjs.map → neutral/Entity.mjs.map} +0 -0
  523. /package/dist/lib/{node-esm/index.mjs.map → neutral/Err.mjs.map} +0 -0
  524. /package/dist/lib/{node-esm/internal/index.mjs.map → neutral/Filter.mjs.map} +0 -0
  525. /package/dist/lib/{node-esm/query/index.mjs.map → neutral/Format.mjs.map} +0 -0
  526. /package/dist/types/src/internal/{ast → annotations}/annotations.test.d.ts +0 -0
  527. /package/dist/types/src/internal/{json → json-schema}/annotations.d.ts +0 -0
  528. /package/dist/types/src/internal/{json → json-schema}/effect-schema.test.d.ts +0 -0
  529. /package/dist/types/src/internal/{json → json-schema}/json-schema.test.d.ts +0 -0
  530. /package/dist/types/src/internal/{projection → schema}/compose.test.d.ts +0 -0
  531. /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
  532. /package/src/internal/{json → json-schema}/effect-schema.test.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"typed-handler.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/typed-handler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,4BAA4B,CAAC;AAElF,OAAO,EAEL,KAAK,eAAe,EAMrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAa,QAAQ,EAAmB,MAAM,EAAE,MAAM,WAAW,CAAC;AAEzE,QAAA,MAAM,YAAY,eAAmB,CAAC;AACtC,QAAA,MAAM,oBAAoB,eAA4B,CAAC;AAEvD,KAAK,WAAW,GAAG;IACjB;;OAEG;IACH,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IAEvC;;OAEG;IAEH,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,CAAC,oBAAoB,CAAC,EAAE,aAAa,CAAC;CACvC,GAAG,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,CAAA;CAAE,GAAG,GAAG,EAAE,CAAC,CAAC;AAExC;;GAEG;AACH,qBAAa,oBAAqB,YAAW,eAAe,CAAC,WAAW,CAAC;IACvE,gBAAuB,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAA8B;IAEnF,QAAQ,CAAC,SAAS,uBAA8B;IAEhD,OAAO;IAEP,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IA6B/B,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IA2BnE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO;IAenF,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;IAOxD,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO;IAUvG,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,QAAQ;CAYjB;AA6BD,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAUxE,CAAC"}
1
+ {"version":3,"file":"typed-handler.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/typed-handler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAMpC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAe5C,OAAO,EAAE,KAAK,eAAe,EAAc,MAAM,eAAe,CAAC;AAIjE,OAAO,EAAY,OAAO,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD,KAAK,WAAW,GAAG;IACjB;;OAEG;IACH,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IAEvC;;OAEG;IACH,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CACxB,GAAG,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,CAAA;CAAE,GAAG,GAAG,EAAE,CAAC,CAAC;AA+ExC;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,eAAe,CAAC,WAAW,CAAC;IACvE,gBAAuB,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAA8B;IAEnF,QAAQ,CAAC,SAAS,uBAA8B;IAChD,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO;IAEP,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAoD/B,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IA8BnE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO;IAmCnF,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;IAIxD,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAkBvE,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO;IA2BvG;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAiDlC,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,QAAQ;CAajB;AA8BD,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAUxE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type ObjectId } from '@dxos/keys';
2
- import { type AnyEchoObject } from '../types';
2
+ import { type AnyEntity } from '../types';
3
3
  import { Ref } from './ref';
4
4
  /**
5
5
  * Helper functions for working with arrays of refs.
@@ -8,14 +8,14 @@ export declare const RefArray: Readonly<{
8
8
  /**
9
9
  * @returns all resolved targets.
10
10
  */
11
- targets: <T extends AnyEchoObject>(refs: readonly Ref<T>[]) => T[];
11
+ targets: <T extends AnyEntity>(refs: readonly Ref<T>[]) => T[];
12
12
  /**
13
13
  * Load all referenced objects.
14
14
  */
15
- loadAll: <T extends AnyEchoObject>(refs: readonly Ref<T>[]) => Promise<T[]>;
15
+ loadAll: <T extends AnyEntity>(refs: readonly Ref<T>[]) => Promise<T[]>;
16
16
  /**
17
17
  * Removes the ref with the given id.
18
18
  */
19
- removeById: (refs: Ref<AnyEchoObject>[], id: ObjectId) => void;
19
+ removeById: (refs: Ref<AnyEntity>[], id: ObjectId) => void;
20
20
  }>;
21
21
  //# sourceMappingURL=ref-array.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ref-array.d.ts","sourceRoot":"","sources":["../../../../../src/internal/ref/ref-array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB;;OAEG;cACO,CAAC,SAAS,aAAa,QAAQ,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,KAAG,CAAC,EAAE;IAIhE;;OAEG;cACO,CAAC,SAAS,aAAa,QAAQ,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,KAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAIzE;;OAEG;uBACgB,GAAG,CAAC,aAAa,CAAC,EAAE,MAAM,QAAQ;EAMrD,CAAC"}
1
+ {"version":3,"file":"ref-array.d.ts","sourceRoot":"","sources":["../../../../../src/internal/ref/ref-array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB;;OAEG;cACO,CAAC,SAAS,SAAS,QAAQ,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,KAAG,CAAC,EAAE;IAI5D;;OAEG;cACO,CAAC,SAAS,SAAS,QAAQ,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,KAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAIrE;;OAEG;uBACgB,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,QAAQ;EAMjD,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import * as Schema from 'effect/Schema';
2
2
  import * as SchemaAST from 'effect/SchemaAST';
3
- import { type EncodedReference } from '@dxos/echo-protocol';
3
+ import type * as Types from 'effect/Types';
4
+ import { type CustomInspectFunction, inspectCustom } from '@dxos/debug';
5
+ import { EncodedReference } from '@dxos/echo-protocol';
4
6
  import { DXN, ObjectId } from '@dxos/keys';
5
7
  import { type JsonSchemaType } from '../json-schema';
6
- import type { BaseObject, WithId } from '../types';
8
+ import type { AnyEntity, AnyProperties } from '../types';
7
9
  /**
8
10
  * The `$id` and `$ref` fields for an ECHO reference schema.
9
11
  */
@@ -11,7 +13,7 @@ export declare const JSON_SCHEMA_ECHO_REF_ID = "/schemas/echo/ref";
11
13
  export declare const getSchemaReference: (property: JsonSchemaType) => {
12
14
  typename: string;
13
15
  } | undefined;
14
- export declare const createSchemaReference: (typename: string) => JsonSchemaType;
16
+ export declare const createSchemaReference: (typename: string) => Types.DeepMutable<JsonSchemaType>;
15
17
  /**
16
18
  * Runtime type-info for a reference extracted from effect AST.
17
19
  */
@@ -30,14 +32,17 @@ export declare const RefTypeId: unique symbol;
30
32
  /**
31
33
  * Reference Schema.
32
34
  */
33
- export interface Ref$<T extends WithId> extends Schema.SchemaClass<Ref<T>, EncodedReference> {
35
+ export interface RefSchema<T extends AnyEntity> extends Schema.SchemaClass<Ref<T>, EncodedReference> {
34
36
  }
37
+ /**
38
+ * Type of the `Ref` function and extra methods attached to it.
39
+ */
35
40
  export interface RefFn {
36
- <S extends Schema.Schema.Any>(schema: S): Ref$<Schema.Schema.Type<S>>;
41
+ <S extends Schema.Schema.Any>(schema: S): RefSchema<Schema.Schema.Type<S>>;
37
42
  /**
38
43
  * @returns True if the object is a reference.
39
44
  */
40
- isRef: (obj: any) => obj is Ref<any>;
45
+ isRef: (obj: unknown) => obj is Ref<any>;
41
46
  /**
42
47
  * @returns True if the reference points to the given object id.
43
48
  */
@@ -45,7 +50,7 @@ export interface RefFn {
45
50
  /**
46
51
  * @returns True if the schema is a reference schema.
47
52
  */
48
- isRefSchema: (schema: Schema.Schema<any, any>) => schema is Ref$<any>;
53
+ isRefSchema: (schema: Schema.Schema<any, any>) => schema is RefSchema<any>;
49
54
  /**
50
55
  * @returns True if the schema AST is a reference schema.
51
56
  */
@@ -53,7 +58,7 @@ export interface RefFn {
53
58
  /**
54
59
  * Constructs a reference that points to the given object.
55
60
  */
56
- make: <T extends WithId>(object: T) => Ref<T>;
61
+ make: <T extends AnyEntity>(object: T) => Ref<T>;
57
62
  /**
58
63
  * Constructs a reference that points to the object specified by the provided DXN.
59
64
  */
@@ -72,12 +77,14 @@ export interface Ref<T> {
72
77
  * Target object DXN.
73
78
  */
74
79
  get dxn(): DXN;
80
+ /**
81
+ * Returns true if the reference has a target available (inlined or resolver set).
82
+ */
83
+ get isAvailable(): boolean;
75
84
  /**
76
85
  * @returns The reference target.
77
86
  * May return `undefined` if the object is not loaded in the working set.
78
87
  * 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
88
  */
82
89
  get target(): T | undefined;
83
90
  /**
@@ -140,11 +147,11 @@ export interface RefResolver {
140
147
  * @param load If true the resolver should attempt to load the object from disk.
141
148
  * @param onLoad Callback to call when the object is loaded.
142
149
  */
143
- resolveSync(dxn: DXN, load: boolean, onLoad?: () => void): BaseObject | undefined;
150
+ resolveSync(dxn: DXN, load: boolean, onLoad?: () => void): AnyProperties | undefined;
144
151
  /**
145
152
  * Resolver ref asynchronously.
146
153
  */
147
- resolve(dxn: DXN): Promise<BaseObject | undefined>;
154
+ resolve(dxn: DXN): Promise<AnyProperties | undefined>;
148
155
  resolveSchema(dxn: DXN): Promise<Schema.Schema.AnyNoContext | undefined>;
149
156
  }
150
157
  export declare class RefImpl<T> implements Ref<T> {
@@ -154,6 +161,10 @@ export declare class RefImpl<T> implements Ref<T> {
154
161
  * @inheritdoc
155
162
  */
156
163
  get dxn(): DXN;
164
+ /**
165
+ * @inheritdoc
166
+ */
167
+ get isAvailable(): boolean;
157
168
  /**
158
169
  * @inheritdoc
159
170
  */
@@ -181,6 +192,7 @@ export declare class RefImpl<T> implements Ref<T> {
181
192
  */
182
193
  toJSON(): EncodedReference;
183
194
  toString(): string;
195
+ [inspectCustom]: CustomInspectFunction;
184
196
  [RefTypeId]: {
185
197
  _T: any;
186
198
  };
@@ -192,15 +204,15 @@ export declare const setRefResolver: (ref: Ref<any>, resolver: RefResolver) => v
192
204
  /**
193
205
  * Internal API for getting the saved target on a reference.
194
206
  */
195
- export declare const getRefSavedTarget: (ref: Ref<any>) => BaseObject | undefined;
207
+ export declare const getRefSavedTarget: (ref: Ref<any>) => AnyProperties | undefined;
196
208
  export declare const refFromEncodedReference: (encodedReference: EncodedReference, resolver?: RefResolver) => Ref<any>;
197
209
  export declare class StaticRefResolver implements RefResolver {
198
- objects: Map<string, BaseObject>;
210
+ objects: Map<string, AnyProperties>;
199
211
  schemas: Map<DXN.String, Schema.Schema.AnyNoContext>;
200
- addObject(obj: BaseObject): this;
212
+ addObject(obj: AnyProperties): this;
201
213
  addSchema(schema: Schema.Schema.AnyNoContext): this;
202
- resolveSync(dxn: DXN, _load: boolean, _onLoad?: () => void): BaseObject | undefined;
203
- resolve(dxn: DXN): Promise<BaseObject | undefined>;
214
+ resolveSync(dxn: DXN, _load: boolean, _onLoad?: () => void): AnyProperties | undefined;
215
+ resolve(dxn: DXN): Promise<AnyProperties | undefined>;
204
216
  resolveSchema(dxn: DXN): Promise<Schema.Schema.AnyNoContext | undefined>;
205
217
  }
206
218
  //# 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,11 @@
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 SchemaMeta, SchemaMetaSymbol } from '../annotations';
5
5
  import { type JsonSchemaType } from '../json-schema';
6
6
  import { type TypedObject, type TypedObjectPrototype } from '../object';
7
- import { StoredSchema } from './stored-schema';
7
+ import { EntityKind, SchemaKindId } from '../types';
8
+ import { PersistentSchema } from './persistent-schema';
8
9
  /**
9
10
  * Base schema type.
10
11
  */
@@ -56,6 +57,7 @@ export declare class ImmutableSchema<A = any, I = any> implements BaseSchema<A,
56
57
  <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
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;
58
59
  };
60
+ get kind(): EntityKind;
59
61
  get typename(): string;
60
62
  get version(): string;
61
63
  get readonly(): boolean;
@@ -66,7 +68,7 @@ export declare class ImmutableSchema<A = any, I = any> implements BaseSchema<A,
66
68
  export declare const isMutable: (schema: Schema.Schema.AnyNoContext) => schema is EchoSchema;
67
69
  declare const EchoSchema_base: TypedObjectPrototype<any, any>;
68
70
  /**
69
- * Represents a schema that is stored in the ECHO database.
71
+ * Represents a schema that is persisted in the ECHO database.
70
72
  * Schema can me mutable or readonly (specified by the {@link EchoSchema.readonly} field).
71
73
  *
72
74
  * Schema that can be modified at runtime via the API.
@@ -77,20 +79,25 @@ declare const EchoSchema_base: TypedObjectPrototype<any, any>;
77
79
  *
78
80
  * @example
79
81
  * ```ts
80
- * export class TableType extends Schema.Struct({...}).pipe(Type.Obj({ typename: 'example.org/type/Table', version: '0.1.0' })){
82
+ * export class TableType extends Schema.Struct({...}).pipe(Type.object({ typename: 'example.org/type/Table', version: '0.1.0' })){
81
83
  * title: Schema.String,
82
84
  * schema: Schema.optional(ref(EchoSchema)),
83
85
  * props: Schema.mutable(S.Array(TablePropSchema)),
84
86
  * }) {}
85
87
  * ```
86
88
  *
87
- * The ECHO API will translate any references to StoredSchema objects to be resolved as EchoSchema objects.
89
+ * The ECHO API will translate any references to PersistentSchema objects to be resolved as EchoSchema objects.
88
90
  */
89
91
  export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implements BaseSchema<A, I> {
90
- private readonly _storedSchema;
92
+ private readonly _persistentSchema;
91
93
  private _schema;
92
94
  private _isDirty;
93
- constructor(_storedSchema: StoredSchema);
95
+ /**
96
+ * Schema kind key that marks this as an ECHO schema.
97
+ * Makes EchoSchema satisfy the Type.Obj.Any type.
98
+ */
99
+ readonly [SchemaKindId]: EntityKind.Object;
100
+ constructor(_persistentSchema: PersistentSchema);
94
101
  get [Schema.TypeId](): {
95
102
  _A: (_: any) => any;
96
103
  _I: (_: any) => any;
@@ -102,6 +109,7 @@ export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implem
102
109
  get ast(): SchemaAST.AST;
103
110
  get annotations(): (annotations: Schema.Annotations.GenericSchema<any>) => Schema.Schema<any, any, never>;
104
111
  get pipe(): Schema.Schema.AnyNoContext['pipe'];
112
+ get kind(): EntityKind.Object;
105
113
  get typename(): string;
106
114
  get version(): string;
107
115
  get readonly(): boolean;
@@ -110,7 +118,7 @@ export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implem
110
118
  */
111
119
  get snapshot(): Schema.Schema.AnyNoContext;
112
120
  /**
113
- * @reactive
121
+ * Returns the JSON schema for the schema.
114
122
  */
115
123
  get jsonSchema(): JsonSchemaType;
116
124
  /**
@@ -127,9 +135,9 @@ export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implem
127
135
  get name(): string | undefined;
128
136
  get [SchemaMetaSymbol](): SchemaMeta;
129
137
  /**
130
- * Reference to the underlying stored schema object.
138
+ * Reference to the underlying persistent schema object.
131
139
  */
132
- get storedSchema(): StoredSchema;
140
+ get persistentSchema(): PersistentSchema;
133
141
  getProperties(): SchemaAST.PropertySignature[];
134
142
  /**
135
143
  * @throws Error if the schema is readonly.
@@ -155,14 +163,18 @@ export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implem
155
163
  */
156
164
  removeFields(fieldNames: string[]): void;
157
165
  /**
158
- * Called by EchoSchemaRegistry on update.
166
+ * Wrapper for Obj.change that handles the change context for the persistent schema.
167
+ */
168
+ private _change;
169
+ /**
170
+ * Called by DatabaseSchemaRegistry on update.
159
171
  */
160
172
  _invalidate(): void;
161
173
  /**
162
174
  * Rebuilds this schema if it is dirty.
163
175
  */
164
176
  _rebuild(): void;
165
- private _getSchema;
177
+ _getSchema(): Schema.Schema.AnyNoContext;
166
178
  }
167
179
  export {};
168
180
  //# 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"}
@@ -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;AAGxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;GAEG;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;GAU5B,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC;CAAG"}
@@ -0,0 +1,26 @@
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
+ */
13
+ export interface AnyEntity {
14
+ readonly id: ObjectId;
15
+ }
16
+ export type ExcludeId<T extends AnyProperties> = Omit<T, 'id'>;
17
+ export type PropertyKey<T extends AnyProperties> = Extract<keyof ExcludeId<T>, string>;
18
+ type WithMeta = {
19
+ [ATTR_META]?: ObjectMeta;
20
+ };
21
+ /**
22
+ * The raw object should not include the ECHO id, but may include metadata.
23
+ */
24
+ export declare const RawObject: <S extends Schema.Schema.AnyNoContext>(schema: S) => Schema.Schema<ExcludeId<Schema.Schema.Type<S>> & WithMeta, Schema.Schema.Encoded<S>>;
25
+ export {};
26
+ //# 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;AAGH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhD;;GAEG;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 / Type.Ref(Type.Obj)).
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,32 @@
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<{
7
- readonly id: string;
4
+ import { type AnyProperties } from './base';
5
+ /**
6
+ * Property name for meta when object is serialized to JSON.
7
+ */
8
+ export declare const ATTR_META = "@meta";
9
+ /**
10
+ * Metadata section.
11
+ */
12
+ export declare const MetaId: unique symbol;
13
+ export declare const ObjectMetaSchema: Schema.Struct<{
14
+ keys: Schema.Array$<Schema.Schema<{
8
15
  readonly source: string;
9
- }, {
10
16
  readonly id: string;
17
+ }, {
11
18
  readonly source: string;
12
- }, never>>>;
19
+ readonly id: string;
20
+ }, never>>;
13
21
  /**
14
22
  * A set of tags.
15
23
  * Tags are arbitrary application-defined strings.
16
24
  * ECHO makes no assumptions about the tag structure.
17
25
  */
18
- tags: Schema.optional<Schema.mutable<Schema.Array$<typeof Schema.String>>>;
19
- }>>;
26
+ tags: Schema.optional<Schema.Array$<typeof Schema.String>>;
27
+ }>;
20
28
  export type ObjectMeta = Schema.Schema.Type<typeof ObjectMetaSchema>;
21
29
  export declare const foreignKey: (source: string, id: string) => ForeignKey;
22
30
  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>;
31
+ export declare const compareForeignKeys: Comparator<AnyProperties>;
31
32
  //# 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,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,SAAS,UAAU,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,MAAM,eAAgC,CAAC;AAOpD,eAAO,MAAM,gBAAgB;;;;;;;;IAG3B;;;;OAIG;;EAIH,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,13 @@
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
+ //# 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"}
@@ -1,9 +1,10 @@
1
1
  /**
2
- * Getter to get object version.
2
+ * Version type symbol.
3
3
  */
4
4
  export declare const VersionTypeId: unique symbol;
5
+ export type VersionTypeId = typeof VersionTypeId;
5
6
  /**
6
- * Represent object version.
7
+ * Represents the object version.
7
8
  * May be backed by Automerge.
8
9
  * Objects with no history are not versioned.
9
10
  */
@@ -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,EAAE,OAAO,MAA+C,CAAC;AAEnF,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"}